Ste*_*Nay 9 authentication jquery redirect
我有一个HTML页面,需要使用jQuery AJAX函数向受CAS保护的(中央身份验证服务)Web服务发出请求.我有以下代码:
$.ajax({
type: "GET",
url: request,
dataType: "json",
complete: function(xmlHttp) {
console.log(xmlHttp);
alert(xmlHttp.status);
},
success: handleRedirects
});
Run Code Online (Sandbox Code Playgroud)
该request
变量可以是CAS服务器(https://cas.mydomain.com/login?service=myServiceURL
)或直接到服务(然后应该重定向回CAS以获取服务票据).Firebug显示正在进行请求,并以302重定向的形式返回.但是,该$.ajax()
功能不处理重定向.
我写了这个函数来解决这个问题:
var handleRedirects = function(data, textStatus) {
console.log(data, textStatus);
if (data.redirect) {
console.log("Calling a redirect: " + data.redirect);
$.get(data.redirect, handleRedirects);
} else {
//function that handles the actual data processing
gotResponse(data);
}
};
Run Code Online (Sandbox Code Playgroud)
但是,即使这样,handleRedirects
函数永远不会被调用,并且xmlHttp.status
总是返回0
.它看起来也不像是通过cas.mydomain.com调用发送的.(有关类似问题,请参阅此问题.)
这是AJAX调用没有处理重定向的问题,还是这里有更多的问题而不是眼睛?
归档时间: |
|
查看次数: |
9303 次 |
最近记录: |