2013-03-27 204 views
1

我有一个web服务,它从外部系统获取用户列表并返回为json。我通过jquery ajax来调用web服务。我已经把Ajax代码如下从web服务获取json字符串

$.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); 
     } 
    }); 

即使这样,输出是正确的格式,输出I从jquery.ajax得到似有不妥。它会正确返回大块数据,然后添加“;(”并继续显示输出。

基本上,输出是(“数据的%75左右”);(其余数据) json无效。我不确定它是否与maxJasonLenght有关,但我也将它设置为最大。似乎有一个限制,您可以从Web服务获得多少数据,就好像我向该json添加更多数据中,击穿点的变化

样本输出


[{ “用户名”: “AB”, “全名”: “AB”} ,{“其他用户},{”UserName“:”cd“,”FullName“:”cd“},{”UserName“:”ef“,); jsonp1364397526212(”FullName“:”ef“},{”UserName “:”gh“,”FullName“:”gf“},{其他用户}}

你知道为什么我有这个问题吗? 谢谢

+1

可以显示一些示例输出 – smk 2013-03-27 18:20:24

+0

添加示例输出 – AnarchistGeek 2013-03-27 18:32:37

+0

听起来像Web服务本身可能正在做的事情。这是您控制的服务吗?或者它是第三方服务? – 2013-03-27 18:35:53

回答

0

您是否将crossDomain选项设置为TRUE?如果我没有错,如果您将crossDomain选项设置为TRUE,那么响应将是JSON-P。

看看这个帖子这样你就可以弄清楚如何处理响应: What is JSONP all about?

我希望这将有助于!

+0

我已经设置了它,但没有任何区别。 – AnarchistGeek 2013-03-27 19:36:54