JQuery PHP$.post()服务器响应将不起作用


JQuery PHP $.post() server response will not work

我正试图弄清楚如何从我的$.post()中获得响应,但我似乎无法弄清楚。它在IE中运行得很好,但在FF和Chrome中会阻塞。我相信这真的很简单。我在这里和谷歌上读了很多帖子,尝试了所有的建议,但仍然没有运气。有人能看出我做错了什么吗?我期望的响应是testing

忘记把我得到的包括在内;在Chrome和FF Firebug控制台中,我看到.error()消息,它只有"错误"。。。没有描述。

图书馆

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>

HTML

<form id="frm">
    <input type="text" name="usr" />
    <input type="submit" value="Click" />
</form>

JQuery

$(function()
{
    $('form#frm').submit(function()
    {
        $.post('process.php',$('#frm').serialize(),function(response)
        {
            console.log('PHP returned : '+response);
        })
        .error(function(XMLHttpRequest,textStatus,errorThrown)
        {
            console.log('Error with ajax Function: '+ textStatus+' '+errorThrown);
        });
    });
});

PHP

<?php
print('testing');
?>

编辑(对于其他有相同问题的人,此代码有效)

$(function()
{
    $('form#frm').submit(function(e)
    {
        e.preventDefault();
        $.post('process.php',$('#frm').serialize(),function(response)
        {
            /* Do something with response */
        })
        .error(function(XMLHttpRequest,textStatus,errorThrown)
        {
            alert('Error with ajax Function: '+ textStatus+' '+errorThrown);
        });
    });
});

我认为,由于您没有指定form action,也没有通过在事件处理程序中返回false来阻止表单提交,因此在执行AJAX回调之前,页面正在刷新(您发布到同一页面,它只是重新加载)。但这并不能解释错误信息。