1

JSONデータを返すphp Webサービスがあります。私の問題は、url から json データを呼び出しても何も返されないことですが、まったく同じデータ (url からのコピー) を持つローカル ファイルを呼び出すと正常に動作します。

私が受け取るjsonデータは、例えば

{"ResponseData":[{"Code":"91010001","Description":"ISADORA ","retailprice":"52.0000000000"},{"Code":"91010002","Description":"ISADORA ","retailprice":"52.0000000000"}]}

jsonデータを取得するために使用するスクリプトは

     <script>$.getJSON("url",

    function(data){

                    var output = '';

      $.each(data.ResponseData, function(i,data){
         output += '<li><a href="#">' + data.Code + '</a></li>';
         if ( i == 50 ) return false;

      });
         $('#listview1').append(output).listview('refresh');
    });

 </script>

最後に、json データを表示するためだけに ajax スクリプトを使用しましたが、エラー [object Object] が返されました。

     <script>
 var obj 
  $.ajax({
url: 'url",
type: "GET",
dataType: 'json',
success: function( data ) {
  alert( "SUCCESS:  " + data );
},
error: function( data ) {
var obj = $.parseJSON(JSON.stringify(data));
  alert( "ERROR:  " + data );
}

});

これを修正する方法はありますか?

前もって感謝します

編集:

これが役立つことを願っています: アプリケーション クラフトでは、最初に関数 obj2json を使用してデータを json に変換し、次に json2obj を使用してデータを入力しました。

EDIT2: IE9 では、ブロック コンテンツ (スクリプトまたは Active X の場合) をクリックして、リンクからデータを表示する必要があります。他のブラウザでこれを行うにはどうすればよいですか?

4

2 に答える 2

1

「ローカルファイル」ではなく「Webサービス」と言うと、別のドメインにリクエストを送信しているように聞こえます。セキュリティ上の制限により、ブラウザはそれを許可していません。クロスサイト通信のためにJSON-Pをサポートするようにリモートサービスに依頼するか、独自のサーバーを介してリクエストをルーティングすることを検討してください(つまり、ブラウザがサーバーにリクエストを送信し、サーバーがリモートサーバーにリクエストを送信し、サーバーがリモートサーバーから応答を取得します。サーバーは同じ応答で応答します)。

于 2012-08-08T13:56:33.123 に答える
-1

あなたが使用する必要がありますJSON.parse(data)

 $.getJSON("url",
function(data){
               data = JSON.parse(data);
               var output = '';
              $.each(data.ResponseData, function(i,data){
     output += '<li><a href="#">' + data.Code + '</a></li>';
     if ( i == 50 ) return false;

  });
     $('#listview1').append(output).listview('refresh');
});
于 2012-08-08T13:53:26.640 に答える