Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/29.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ajax Jquery中的句柄结果类型_Jquery_Ajax_Struts2 - Fatal编程技术网

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调用从Jquery调用一个操作,如下所示

$.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代码,然后成功了。谢谢