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 が 2 つのメッセージ ボックスを返すことを期待していましたが、そのうちの 1 つは moo と表示され、もう 1 つはテストが完了しました。最初のものは取得できますが、後者は取得されません。何が間違っているのか本当にわかりません。

4

1 に答える 1

2

メソッドである$.getAjax (ajax 呼び出しを実行する) は非同期であるため、フォーム送信され、コールバック関数 (データを警告する関数) は実行されません。

return false;呼び出しの直後にステートメントを追加するだけ$.get();で、2 番目のアラートも表示されます。ポップアップするのにほんの一瞬長くかかります(リクエストをサーバーに送信し、レスポンスを返送して処理し、レスポンスがアラートされます)。そうしないreturn falseと、送信イベントが完了し、クライアントがリダイレクトされます

于 2012-12-17T19:18:58.947 に答える