这是一个跨域问题,但问题是浏览器(Chrome)似乎没有遵循重定向。相反,没有任何内容返回到jQuery ajax调用,我收到错误。
我正在尝试使用jQuery.ajax
,但我正在使用的网址会重定向到另一个域。发生这种情况时,我收到一个错误。是否有任何特殊需要完成,以便浏览器遵循重定向?
我已将access-control-allow-origin: *
添加到要重定向到的第二个域的标头中。
答案 0 :(得分:1)
HTTP重定向页面被视为任何其他HTTP页面,因为它还需要访问控制标头。如果您的重定向页面没有它们,浏览器将永远不会检查被重定向到的页面是否具有适当的权限。
除了重定向页面上的Location
标题外,还要添加Access-Control-Allow-Origin
标题及其相关成分(即Access-Control-Allow-Methods
等)。
答案 1 :(得分:0)
获取跨域ajax调用的唯一方法是使用jsonp。
在jQuery中,将.ajax()
dataType设置为'jsonp'。见这里:http://api.jquery.com/jQuery.ajax/
如果重定向到的服务器无法进行jsonp响应,它仍然可能无效。 json响应和jsonp响应之间的区别在于json响应是纯json字符串,而jsonp响应是调用传入json字符串的函数的代码。