Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/399.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
Java 检查ajax中的成功和错误_Java_Javascript_Ajax_Servlets - Fatal编程技术网

Java 检查ajax中的成功和错误

Java 检查ajax中的成功和错误,java,javascript,ajax,servlets,Java,Javascript,Ajax,Servlets,我在jsp中有这样一个按钮 <input class="submit_button" type="submit" id="btnPay" name="btnPay" value="Payment" style="position: absolute; left: 350px; top: 130px;" onclick="javascript:payment();"> 当单击按钮时,javascript函数调用Javaservlet,servlet调用函数“callpro

我在jsp中有这样一个按钮

 <input class="submit_button" type="submit" id="btnPay" name="btnPay" value="Payment"  
 style="position: absolute; left: 350px; top: 130px;" onclick="javascript:payment();">

当单击按钮时,javascript函数调用Javaservlet,servlet调用函数“callprocedure()”

 <script>

     function payment()
    {

        var req = $.ajax({
        type: "POST",
        url: '/context/Servlet',
        success: function(result){
         //when successfully return from your java 
        alert('Payment done successfully...');
        }
        }, error: function(){
           // when got error             
           alert("sorry payment failed");            
        }
    });

    }      
</script> 

功能支付()
{
var req=$.ajax({
类型:“POST”,
url:“/context/Servlet”,
成功:功能(结果){
//当您成功地从java服务器返回时
警报(“付款成功完成…”);
}
},错误:函数(){
//什么时候出错
警报(“抱歉付款失败”);
}
});
}      
现在一切正常,但我的问题是检查ajax的成功与否。在我的案例中,如何检查ajax的成功或错误


Thanx提前…

您这样做是正确的,但是代码中有语法错误:

function payment() {
    var req = $.ajax({
        type: "POST",
        url: '/context/Servlet',
        success: function (result) {
           // alert data returned by jsp
            alert(result);
            alert('Payment done successfully...');
        },
        error: function (jqXHR,textStatus,errorThrown) {
            // when got error             
            alert("sorry payment failed :" + errorThrown);
        }
    });
}
您可以使用传递给错误回调的参数来了解错误的原因

更多信息

    • 另一种方法(虽然效率不高):

      检查servlet返回的值

      $.post('Servlet',paramName:paramValue,...},function(result) {
        if (result.substring(0,...)=='(expected result)'){ //success
      
        }else{ //error
      
        }
      });
      

      希望能有所帮助

      你的问题是什么?您的ajax中已经定义了成功和错误处理程序。已成功调用servlet,但在这种情况下,无论是成功还是错误都不会显示警报。结果包含什么值?
      result
      hold是您返回的数据