用JQuery实现ajax时,GET请求中,表单为空时,不能弹出“参数错误”,而是执行error回调函数?

$("#search").click(function(){
        $.ajax({
            type: "GET",     
            url: "http://127.0.0.1:8080/ajaxdemo/serverjson2.php?number=" + $("#keyword").val(),
            dataType: "json",
            success: function(data) {
                if (data.success) {
                    $("#searchResult").html(data.msg);
                } else {
                    $("#searchResult").html("出现错误:" + data.msg);
                }  
            },
            error: function(jqXHR){     
               alert("发生错误:" + jqXHR.status);  
            },     
        });
    });

QM_1858
浏览 2109回答 4
4回答

前进_DE_蜗牛

执行error,是因为ajax请求出错;如果ajax请求成功的话,会执行success中的函数,如果data.success为true则执行if,为 false执行else.

麦勰尓

这个还是要看你想怎么实现,可以先验证再执行ajax,也可以先ajax,不过,在后端看你如何做,如果返回的状态码如何定义的,如果无论失败还是成功,状态码都是200,则在success里运行,否则,则执行error(错误会执行error)。

Jeanbin大王来巡山

data.success  应该不是个 boolean  类型的吧 ?
打开App,查看更多内容
随时随地看视频慕课网APP