3

次のajax呼び出しは私にとってはうまくいきます:

$.ajax({
    url:"/" + destination,
    type:"POST",
    dataType:"json",
    data:collectedData,
    success: successFunction,
    error:errorFunction
});

ただし、リダイレクトに従うとすぐに、成功またはエラー ハンドラーは呼び出されません。X-Request-With: XmlHttpRequestHeader がリダイレクトにないことにも気付きました。リダイレクトは、同じオリジンにリダイレクトされる最後のものを除いてクロスドメインです。例えば:

request to     |   response
sameDomain     |   302 redirect to sso server (diffrent domain)
sso server     |   302 redirect to sso server
sso server     |   302 redirect to sameDomain
sameDomain     |   200 including valid json data

Firefox 16 を使用しています

何か案は?

4

2 に答える 2

1

JSOPを使用する

$.ajax({
     url:"/" + destination,
     dataType: 'jsonp', // Notice! JSONP <-- P (lowercase)
     data:collectedData,
     success:function(json){
         // do stuff with json (in this case an array)
         alert("Success");
     },
     error:function(){
         alert("Error");
     },
});
于 2012-11-28T12:24:34.477 に答える
0

このようにコードを変更してみてください

$.ajax({
    url:"/" + destination,
    type:"POST",
    dataType:"json",
    data:collectedData,
    success: function(data){},
    error:function(data){}
});
于 2012-11-28T12:21:31.350 に答える