3

私はこのjQueryの基本的なajaxリーダーを使用しています:

$.ajax({
    url: url,
    dataType: 'jsonp',
    success: function (data) {
        console.log('data is', data);
    }
});

私が得る完全なサーバー応答は次のとおりです。

jQuery17107194540228229016_1350987657731({"action":"", "type":"", "callerId":""},
 {"errorCode":0,"errorDescription":"OK","success":true,"payload":null});

ただし、出力で出力しようとすると、console.log('data is,data);次のようになります。

data is  Object {action: "", type: "", callerId: ""} 

サーバー応答の他の部分を受け取るにはどうすればよいですか?

すなわち:私に伝える部分success:true

{"errorCode":0,"errorDescription":"OK","success":true,"payload":null}
4

2 に答える 2

3

これを試してください、それが役立つかどうかわかりません:

success:function(data, second){
                       console.log('data is',data, 'second is ',second);

何人かが指摘しているように、成功関数はリクエストが成功した場合にのみ返されます。ただし、これらの戻り値を使用する特別な理由がある場合は、追加のパラメーターを追加できます (まだ自分でテストしていないと思います)。

于 2012-10-23T10:34:10.640 に答える
1

jquery リクエストからの成功のコールバックは、応答が 404 であっても常に成功します。サーバーに到達できる限り、それは常に成功です。サーバーに到達できない場合、またはエラー コールバックがトリガーされる方法でリクエストが失われた場合のみ。その観点から、常に出力を分析して、結果が望ましいかどうかを確認する必要があります (または、応答のステータス コードを確認します。40x の場合は、おそらくエラーです)。

于 2012-10-23T10:34:38.847 に答える