1

JQuery $.ajax() を使用して WebAPI からデータを「GET」しようとしています。これが私のコードです:

$.ajax({
              type: "GET",
              url: "http://localhost:62412/api/RandomData?startTime=2013-02-23%2005%3A00%3A00&callback=?",                                
              dataType: "jsonp",                 
              success: function (data) {
                  alert("success");
              },
              error: function (errorData) {                 
                alert("fail");
              }// When Service call fails
          });

WebAPI が正常に動作し、データが正常に返されることがわかります。しかし、クライアント側では、常に「失敗」アラートが表示されます。firebugでデータを見ることができます。

応答ステータスが「200」のときに「エラー」関数が呼び出される理由を誰か教えてください。

4

2 に答える 2

1

返されるコードは JSONP ではありません。単純な JSON です。

jsonp では、サーバーはコールバック パラメーターとして指定された名前を持つ関数のパラメーターとして JSON オブジェクトを返す必要があります。

構成で、サーバーに送信されるコールバック パラメータが「example」の場合、サーバーは次のように応答する必要があります。

example( json code here )

だけでなく

json code here

今と同じように。

この$.ajax関数を使用すると、クライアント側でコールバック関数名を指定する必要はありませんが、サーバーはそれを尊重する必要があります。

于 2013-04-02T19:31:56.233 に答える