Ajax Jquery中的句柄结果类型
我通过Ajax调用从Jquery调用一个操作,如下所示Ajax Jquery中的句柄结果类型,jquery,ajax,struts2,Jquery,Ajax,Struts2,我通过Ajax调用从Jquery调用一个操作,如下所示 $.ajax({ url : "SendSMS", data : data, dataType : 'json', contentType : 'application/json', type : 'POST', async : true, success : function(res) { setMessage(res.stat); } }); 由于登录凭据
$.ajax({
url : "SendSMS",
data : data,
dataType : 'json',
contentType : 'application/json',
type : 'POST',
async : true,
success : function(res) {
setMessage(res.stat);
}
});
由于登录凭据,它将不允许该操作。所以它应该重新指向登录页面。但它不是重定向。但当我直接在URL中访问操作时,我会被重定向到登录页面
http://localhost:8080/SMS/sendSMS
我如何使用jQuery处理这个问题?试试这个:
$.ajax({
url : "SendSMS",
data : data,
dataType : 'json',
contentType : 'application/json',
type : 'POST'
}).done(function(res, textStatus, jqXHR )
setMessage(res.stat);
}).fail(function( jqXHR, textStatus, errorThrown ) {
if ( jqXHR.status=="403" ) {
location.replace("login.php");
}
});
设置身份验证并使用Credentials我已经有了它。很好用。但问题是,当我从javascript调用它时,它不会重定向到登录页面。ajax调用不会重定向,我已经编辑了答案,以显示该答案的操作配置应该如何工作。谢谢。但是你提到的第一种方法我无法得到。但最后两个都不起作用。在我的ajax调用中,控件没有进入error函数。但是当我尝试访问时,我在服务器端控制台中得到了有效的响应。很抱歉,它也不起作用。对于成功案例,控件将进入done方法。但对于失败,并不遗憾。试过了,不行。我对action或struts.xml做了什么错事吗?现在它已经工作了。我遇到的问题是,在这次ajax调用之前,我又进行了一次ajax调用。所以控制就到了那里。我在那个调用中添加了fail和done代码,然后成功了。谢谢