2013-03-27 202 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