错误后jquery没有停止,它在错误消息

时间:2016-11-10 14:19:34

标签: jquery ajax

我有一个结帐页面,当我提交结帐时显示错误消息,但是当我点击错误警告按钮以禁用错误消息时,页面不会在结帐页面上停止它只是在付款网关页面上重定向.i我正在使用此代码将数据发送到我的api。

 $(document).ready(function () {
    $("#place_order").click(function () {
        var person1 = new Object();

        debugger;
        var quantity=$('#check2').find('#Quantity_number').val();
        if(quantity)
        {

         $('#check2').find('#Quantity').val(quantity.substring(2,quantity.length));
        }

        var amount=$('#check2').find('#Total_amount');
        $(amount).val($(amount).val().substring(1,$(amount).val().length))//replacing Rupee sign

        /* #check1 is form id , for first form , please let me know how two use second form id #check2 */
        var person = {};
        var person1 = {};

         $.map($('#check1').serializeArray(), function(n, i){
           person[n['name']] = n['value'];
         });

         $.map($('#check2').serializeArray(), function(n, i){
            person1[n['name']] = n['value'];
         });

        var mergedFormObj = $.extend({},person,person1);

        $.ajax({
            url: 'http://192.168.1.102:1512/qlikapi/RegisterUser',
            type: 'Post',
            data: mergedFormObj,
            success: function(data, textStatus, xhr) {
                alert(data.ErrorMessage);
                if (data.Success) {
                    document.location.reload();  
                }
            },
            error: function (xhr, textStatus, errorThrown) {
                console.log('Error in Operation');
            }
        });
    });
});   
    </script>

1 个答案:

答案 0 :(得分:0)

根据你的代码:

alert(data.ErrorMessage);
if (data.Success) {
    document.location.reload();  
}

当且仅当data.Success评估为true时才会发生重定向。因此data.Success似乎正在评估true。鉴于此,您有两种选择:

  1. 如果服务器返回的数据不正确,请更正服务器端代码以返回您希望返回的数据。
  2. 如果无法修改服务器,请找另一种方法来确定&#34;成功&#34;或者&#34;失败&#34;来自客户端代码中的服务器端操作。也许data.ErrorMessage中仅存在非空值就足够了吗?
  3. 无论哪种方式,代码都按设计工作。但是数据并不是你想象的那样。