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 回答