在AJAX中处理来自跨源帖子的重定向
我们正在尝试创建一个RESTful API,它将托管在服务器x.foo.com上。客户端html应用程序(内置jquery)将托管在y.foo.com上 我通过如下所述设置Access Control Allow Origin标头来处理跨域问题 到目前为止还不错,我现在可以成功地从主机y向主机x进行AJAX调用 然而,我遇到了一个关于POST请求的问题。对post请求的典型响应是重定向。但是,XMLHttpRequest对象不会跟随跨域重定向,从而导致调用失败在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
// 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条回复。然而,我不确定这是否被视为最佳实践,因为大多数其他文献似乎都建议对帖子返回重定向。