难以使用AJAX jQuery API和PHP显示错误消息。

时间:2012-04-09 15:02:23

标签: php jquery javascript

我正在使用jQuery AJAX函数,以便从mySQL数据库中检索数据,而无需刷新页面。我有一切工作正常,我的查询是从我的数据库中检索正确的数据。但是,当根据用户输入无法检索数据时,我很难回复出错信息。我有一个php文件,提供用户界面供用户搜索,它还包含文档头中的以下脚本。

这是我到目前为止: -

<script type="text/javascript">
$(function(){
    $('#users').keyup(function(){
        var inpvalue= $('#users').val();
    });
});
</script>



<script type="text/javascript">
$(function(){
            $('#users').keyup(function(){

            var inpval=$('#users').val();

            $.ajax({
                type: 'POST',
                data: ({p : inpval}),
                url: 'data.php',
                success: function(data) {
                     $('#output_div').html(data);

          }
        });
    });
});

</script>

如果我没有很好地解释自己,我会非常感谢任何帮助。
三江源。

3 个答案:

答案 0 :(得分:1)

修改.ajax()调用,以便检测错误情况:

        $.ajax({
            type: 'POST',
            data: ({p : inpval}),
            url: 'data.php',
            success: function(data) {
                 $('#output_div').html(data);

            },
            error: function (jqXHR, textStatus, errorThrown) {
                console.log(errorThrown);
            }
        });

这只是为了让您入门:有关使用错误处理程序可以执行的操作的更多详细信息,请参阅http://api.jquery.com/jQuery.ajax/

当然,您可能会从通话中获得良好的HTTP状态,但这种防御性编程将确保。

在浏览器中运行的Firebug之类的工具也可以帮助您检测错误的HTTP状态代码返回。

答案 1 :(得分:0)

在data.php中,您必须在数据无效时输出错误。

答案 2 :(得分:0)

error的{​​{1}}设置只有在实际的ajax请求出现问题时才会被调用,就像服务器返回404一样。您必须在json中返回错误并检查它像这样:

$.ajax

然后你会在数据正常的情况下返回正常的json,然后返回错误信息:

$('#users').keyup(function(){ var inpval=$('#users').val(); $.ajax({ type: 'POST', data: ({p : inpval}), url: 'data.php', success: function(data) { if(!data.error) { $('#output_div').html(data); } else { // show error } } }); });