1

我有一个 Web 服务,它从外部系统获取用户列表并以 json 格式返回。我通过 jquery ajax 调用该网络服务。我在下面放置了ajax代码

 $.ajax({
        type: "GET",
        url: webMethod,
        data:"",
        contentType: "application/json; charset=utf-8",
        dataType: "jsonp",
        success: function(msg) {
            alert(msg.d);
        },
       error: function(e) {
         alert(e);
        }
    });

即使输出格式正确,我从 jquery.ajax 得到的输出似乎是错误的。它正确返回大块数据,然后添加“; (”并继续显示输出。

基本上,输出是(“大约 %75 的数据”);(其余数据)这使我的 json 无效。我不确定它是否与 maxJasonLenght 有关,但我也将其设置为最大值。您可以从 Web 服务获得多少数据似乎是有限制的,就像我向该 json 添加更多数据一样,故障点会发生变化。

样本输出


[{"UserName":"ab","FullName":"ab"},{许多其他用户},{"UserName":"cd","FullName":"c d"},{"UserName":"ef ",);jsonp1364397526212("FullName":"e f"}, {"UserName":"gh","FullName":"g f"},{其他用户}}

你知道我为什么会遇到这个问题吗?谢谢

4

1 回答 1

0

您是否将 crossDomain 选项设置为 TRUE?如果我没记错的话,如果您将 crossDomain 选项设置为 TRUE,则响应将是 JSON-P。

查看这篇文章,以便您了解如何处理响应: JSONP 到底是什么?

我希望它会有所帮助!

于 2013-03-27T19:15:08.647 回答