別の目を使用することもできます。おそらく私は分かりにくいかもしれません。私はSQL Serverデータベースから基本的なデータを返すWCFサービスを作成しました。それはうまく機能するようです。今、私は単純に、このように私のウェブページにそのデータをダンプしようとしています:WCFからjqueryに返されたjsonpデータに正しくアクセスできません。
<script type="text/javascript">
$.ajax({ url: 'http://localhost:35798/restserviceimpl.svc/json/999?callback=?',
dataType: "jsonp",
success: function (data) {
alert(data);
$.each(data, function (i, item) {
$('#gallery').append('<p>' + i + '.'+ item + '</p>');
});
}
});
</script>
シオマネキを使用して、正しくJSONデータは私のウェブページに戻されている(とアラートがJSONデータに見えるものを私に示してフォーマットするように、それは私には見えますこれはjsonlint.comで検証されます)。しかし、繰り返し処理しようとすると、「レコード」の代わりにそれぞれの「それぞれ」の文字が1つだけ取得されます。 JSON文字列のそれぞれの文字が1つだけ含まれている800回以上の反復が得られます.jsonデータのおよそ17のレコードではなく、それぞれ2つのフィールドがあります。
私のWCFからJSONのように見える文字列が戻ってきたのですか?または上記のjqueryスクリプトにバグがありますか?
私はEvgenyのポイント2に同意します。通常、jQueryではアラート(データ)にJSON文字列ではなく[オブジェクトオブジェクト]が表示されます。 –
コンテンツタイプのヘッダーは 'application/x-javqascript'です。これはjsonpにとって正しいと思います。 –
'application/x-javqascript'またはapplication/x-javascript '?とにかく、アラートは文字列ではない[オブジェクトオブジェクト]を表示する必要があります。コンテンツタイプ(application/javascriptまたはapplication/json - どちらでも問題ありません)を試してみることをお勧めします。 –