1

抱歉,如果这已在其他地方得到回答,但我很新,不确定搜索词对我有帮助。

我有一个包含以下内容的表格:

<form onsubmit="InsertAppointment()" method="get">

调用以下Javascript

    function InsertAppointment()    
{
    alert("moo");
    $.get("test.php", 
        function(data)
            {
                alert(data);
            } 
        );

}

test.php 只是做

<?php 
 echo "test complete"; 
?>

我期待javascript返回两个消息框,其中一个说moo,另一个测试完成,我得到第一个但不是后者。我真的不确定我做错了什么。

4

1 回答 1

2

Ajax,也就是$.get方法的本质(它执行一个ajax 调用)是异步的,因此表单提交,而回调函数(提醒数据的那个)没有被执行。

只需return false;在通话后立即添加一条语句$.get();,您也会收到第二条警报。弹出的时间会更长(请求必须发送到服务器,必须将响应发送回并进行处理,然后会提醒响应)。如果你不这样做return false,提交事件将完成,客户端将被重定向

于 2012-12-17T19:18:58.947 回答