是否可以阻止浏览器在发送XMLHttpRequest-s时遵循重定向(即重新获取重定向状态代码并自行处理)?
所以我试图通过jQuery get从头响应中获取位置.我尝试使用getResponseHeader('Location')和getAllResponseHeaders(),但它们似乎都返回null.
这是我目前的代码
$(document).ready(function(){
var geturl;
geturl = $.ajax({
type: "GET",
url: 'http://searchlight.cluen.com/E5/Login.aspx?URLKey=uzr7ncj8)',
});
var locationResponse = geturl.getResponseHeader('Location');
console.log(locationResponse);
});
Run Code Online (Sandbox Code Playgroud) 可能重复:
jQuery和AJAX响应头
如果服务器在响应头中返回数据我怎么能读它.我正在向服务器发送一个AJAX请求.它不返回除响应标头中的位置之外的任何内容.我想用JavaScript或jQuery读取该位置....
我正在拨打$ .get来拨打服务'A'.服务'A'返回我在页面上显示的纯文本.但有时它会重定向到服务'B',返回纯文本.但是,我无法处理服务'B'的响应文本.我怎么做?
我有一个AJAX调用服务器端点,它执行301重定向到同一页面,但有一个尾部斜杠.
浏览器在使用AJAX调用时是否遵循重定向,还是忽略它们?在我的情况下,它不遵循它们,但我认为它可能是来自服务器配置的东西.
我正在尝试在ajax应用程序中实现表单身份验证。我的问题是,当会话过期时,我得到302代码,将我重定向到我在web.xml中指定的登录页面(这使刷新整个应用程序到登录页面的一切混乱了)。
我要执行的操作是获取“未经身份验证”(401)代码,然后在弹出窗口中显示登录表单,并在登录成功后继续执行我的操作。
这是正在发生的事情的图片:

和docs http://docs.oracle.com/javaee/1.4/tutorial/doc/Security5.html
基本上,我想显示弹出窗口而不是重定向到登录页面,然后不重定向到资源,而是以AJAX方式进行更新。据我了解,由于无法避免重定向,因此无法仅在客户端完成(请参见此处:redirect info),我需要在服务器上编写某种逻辑来防止重定向,请参见此处有关在IIS中执行此操作的详细信息: IIS实现
PS到目前为止:http : //www.oracle.com/technetwork/articles/entarch/session-lifecycle-096133.html看起来是实现它的最有前途的方法。该类已弃用,但我找不到新的类,并认为这是为Weblogic做到这一点的唯一方法。