代码之家  ›  专栏  ›  技术社区  ›  Martin Ongtangco

通过jquery和ajax呈现重复div的最佳方法是什么?

  •  1
  • Martin Ongtangco  · 技术社区  · 16 年前

    我通常会在webservice中生成html,然后在jquery上显示它。。。我打赌有更好的办法。救命啊!

    3 回复  |  直到 16 年前
        1
  •  0
  •   rob waminal    16 年前

    在webservice中返回json对象并在jquery中呈现div,您可以使用 chain.js

        2
  •  0
  •   jAndy    16 年前

    仔细想想,你总会得出两个结论:

    • =wire上的流量更多,渲染速度更快,客户端cpu使用更少

    • 仅发送数据;指令(如JSON)

      =更少的网络流量,更多的客户端cpu使用率,可能更慢的渲染

        3
  •  0
  •   Daniel Dyson    16 年前

    假设:

    • 您正在向服务传递divId以获取特定的div。您可以更改数据变量中发送的参数以满足自己的需要,只要这些参数与WebMethod的参数匹配。
    • $ajax({ type: "POST",         
         url: "WebServices/YourService.asmx/GetDivs",
         data: "{'divToGetId' :'" + divId + "'}",
         dataType: "json",
         contentType: 'application/json; charset=utf-8',
         success: function(json) {
            var result = eval("(" + json.d + ")");
            $(targetLocation).html(result.value);
         }
      });
      

    您的Web服务:

    [ScriptMethod(ResponseFormat = ResponseFormat.Json)]
    [WebMethod(EnableSession = true)]
    public string GetDivs(string divId)
    {
        return DivProvider.GetChildDivs(divId);
    }
    

    您的json应该以如下方式返回:

    {"value": "<div>contents of div 1</div><div>contents of div 2</div>"}