此脚本返回302异常,但我无法从响应中获取Headers。
在控制台中我可以看到标题location
。它返回一个新的URL,但我无法从脚本中获取它。
HELP!
jQuery.ajax({
url: 'http://vk.com/doc-58017030_217989332?hash=89a86b87f793847c96&dl=96884e265f15cb647f&api=1',
type: 'GET',
data: {},
cache: false,
timeout: 30000,
success: function (data, textStatus, request) {
console.log('success');
console.log(request.getAllResponseHeaders());
},
error: function (request, textStatus, errorThrown) {
console.log('error');
console.log(request.getAllResponseHeaders());
},
complete: function (request, textStatus) {
console.log('complete');
console.log(request.getAllResponseHeaders());
}
});
答案 0 :(得分:0)
由于这是一个跨域访问调用,因此您需要在服务器上解决它。似乎没有使用仅客户端代码的302重定向的解决方法。它们被浏览器视为“不安全”(就JavaScript而言)。
在您自己的Web服务器上提供服务,该服务接受URL(如http://vk.com/doc-58017030_217989332?hash=89a86b87f793847c96&dl=96884e265f15cb647f&api=1
)并返回最终响应的流(在重定向之后)。这通常也会解决任何跨域安全问题(通过自己的域来实现这些问题)。
在服务器中解决远程数据访问问题比在浏览器中使用JScript容易得多。