Jquery 本地Ajax调用成功,但未返回任何数据

Jquery 本地Ajax调用成功,但未返回任何数据,jquery,ajax,json,Jquery,Ajax,Json,我在Visual Studio 2010中创建了两个项目,一个是Web服务,另一个是Web应用程序,我在Web服务上有一个方法,如下所示: `[OperationContract] [WebInvoke(Method = "GET", ResponseFormat = WebMessageFormat.Json, BodyStyle = WebMessageBodyStyle.Wrapped, UriTemplate = "json/get

我在Visual Studio 2010中创建了两个项目,一个是Web服务,另一个是Web应用程序,我在Web服务上有一个方法,如下所示:

`[OperationContract]
    [WebInvoke(Method = "GET",
        ResponseFormat = WebMessageFormat.Json,
        BodyStyle = WebMessageBodyStyle.Wrapped,
        UriTemplate = "json/getData")]
    List<Objects> TestCall();`
我在FireFox中尝试,json变量返回为null,在IE调试器中调试时,我可以向对象添加一个手表,并可以看到对象下面有数组,我是否需要改用json.TestCallResult,或者是否有其他人看到IE和FireFox之间的这种差异,或者有人可以说停止作为noob并这样做


谢谢

您的ajax url应该具有与html url相同的主机:端口。

在成功回调中,您已经获得了一个json对象。如果您再次尝试使用$.parseJSON解析此内容,则结果为空

您需要查看
json.d
而不是
json

响应数据包含在
.d
属性中,而不是直接包含在返回的对象中

在ASP.NET 3.5及更高版本中会出现这种情况。

$.ajax({
$.ajax({
                url: "http://localhost:17258/RestService.svc/json/getData",
                type: "GET",
                dataType: "json",
                cache: false,
                success: function (obj) {
                    for (var i = 0; i <= obj.length; i++) {
                        alert(obj[i].id);
        }
     }
});
url:“http://localhost:17258/RestService.svc/json/getData", 键入:“获取”, 数据类型:“json”, cache:false, 成功:功能(obj){
for(var i=0;i是您的网站(您从中调用Web服务的网站)也位于localhost:17258上,或者在端口17258上响应的服务器是否发送包含访问控制允许源设置的标头?当您在IE中调试时,哪个值具有json var?
$.ajax({
                url: "http://localhost:17258/RestService.svc/json/getData",
                type: "GET",
                dataType: "json",
                cache: false,
                success: function (obj) {
                    for (var i = 0; i <= obj.length; i++) {
                        alert(obj[i].id);
        }
     }
});