1

外部システムからユーザーのリストを取得し、json として返す Web サービスを取得しました。そして、jquery ajax を介してその Web サービスを呼び出します。以下に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 に関連しているかどうかはわかりませんが、最大値にも設定しています。そのjsonにさらにデータを追加すると、ブレークダウンポイントが変化するため、Webサービスから取得できるデータの量に制限があるようです。

サンプル出力


[{"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 に答える