在AJAX中处理来自跨源帖子的重定向

在AJAX中处理来自跨源帖子的重定向,ajax,http,post,redirect,cross-domain,Ajax,Http,Post,Redirect,Cross Domain,我们正在尝试创建一个RESTful API,它将托管在服务器x.foo.com上。客户端html应用程序(内置jquery)将托管在y.foo.com上 我通过如下所述设置Access Control Allow Origin标头来处理跨域问题 到目前为止还不错,我现在可以成功地从主机y向主机x进行AJAX调用 然而,我遇到了一个关于POST请求的问题。对post请求的典型响应是重定向。但是,XMLHttpRequest对象不会跟随跨域重定向,从而导致调用失败 // Hosted on y.fo

我们正在尝试创建一个RESTful API,它将托管在服务器x.foo.com上。客户端html应用程序(内置jquery)将托管在y.foo.com上

我通过如下所述设置Access Control Allow Origin标头来处理跨域问题

到目前为止还不错,我现在可以成功地从主机y向主机x进行AJAX调用

然而,我遇到了一个关于POST请求的问题。对post请求的典型响应是重定向。但是,XMLHttpRequest对象不会跟随跨域重定向,从而导致调用失败

// Hosted on y.foo.com
$.ajax({
    type: "POST",
    url : http://x.foo.com/myapp/",
    success: function(data) {
      alert("success!");
    }
});

// Return status:  302  
// (Which errors out in firebug)

有谁知道我在这篇文章中为托管在y上的客户端处理重定向(到服务器x上的资源)的技术吗?

客户端如何为AJAX请求发送一个特殊的头,这取决于它是否是AJAX请求,您可以更改响应,而不是执行重定向。

是-这可能是一个可行的解决方案。我可能只需要使用内容类型标题来指定所需的格式。如果它是JSON,我可以发送一个普通的200条回复。然而,我不确定这是否被视为最佳实践,因为大多数其他文献似乎都建议对帖子返回重定向。