使用JQuery AJAX使用IIS托管的WCF

时间:2012-08-13 18:32:25

标签: ajax jquery wcf-client

调用此AJAX方法时,我不断收到“error:undefined”消息。

$.ajax({
            type: "GET",
            async: false,
            url: "localhost/ServiceHost/Security.svc/GetAllUserErrors",
            data: "{ }",
            dataType: "json",
            contentType: "application/json; charset=utf-8",
            dataFilter: function (data) { return data; },
            success: function (data) {
                for (var i = 0; i < data.d.length; i++) {
                    if (i % 2 == 0) rows += "<tr><td><input  type=\"checkbox\"/></td>";
                    else rows += "<tr class=\"alternate-row\"><td><input  type=\"checkbox\"/></td>";
                    rows += "<td>" + data.d.SyncTimeStamp.toString() + "</td>";
                    rows += "<td>" + data.d.Name.toString() + "</td>";
                    rows += "<td>" + data.d.Login.toString() + "</td>";
                    rows += "<td>" + data.d.NotificationText.toString() + "</td>";
                    rows += "<td class=\"options-width\"><a href=\"\" title=\"Edit\" class=\"icon-2 info-tooltip\"></a></td></tr>";
                }
            },
            error: function (XMLHttpRequest, textStatus, errorThrown) {
                alert(textStatus + ":" + errorThrown);
            }
        });

我知道WCF正在运行,但我无法弄清楚为什么我会收到此错误。有什么帮助吗?

我确信问题出在'url'部分的某个地方。这条线的正确语法是什么?

    <services>
      <service name="Security.WCFServiceLibrary.Security">
        <endpoint address="" binding="wsDualHttpBinding" bindingConfiguration=""
          contract="Security.WCFServiceLibrary.ISecurity" />
      </service>
    </services>

1 个答案:

答案 0 :(得分:1)

除了你的SJAJ架构(...)?

我会说你的“localhost”不是你的html页面旁边的文件夹,但绝对路径可能呢? http://localhost/

然后,当定义数据时,您还需要将其解析为正确的Javascript对象,因为您的JSON只是一种“符号”。

var jsonData = jQuery.parseJSON(data);

然后你可以使用jsonData作为真正的js对象。 祝你好运!