0

コード:(index.php):

<head>

<?php
if(isset($_GET['text1']))
{
some_function();
}
?>
</head>

<body>
<form id="form">
<input type="text" id="text1" name="text1"/>
<input type="text" id="text2" name="text2"/>
<input type="submit" id="submit" value="submit"/>
</form>

<script>
$(document).ready(function(){

    $("#submit").click(function(){
            var dataString=$("form#form").serialize();
            var proccessPage="<?php echo $_SERVER['PHP_SELF'] ?>";

            alert(dataString);
            $.ajax({
                type: "POST", 
                url: proccessPage,
                data: dataString,
                });
    return false;
    });


});
</script>
</body>

some_function();なぜ呼び出しがトリガーされないのか誰もが知っていますか?問題がajaxにあるのか、phpにあるのか、それともどこにあるのかわかりません。$.post、または、コードで発生する可能性のあるエラーの検索などに2日間費やしました$.ajaxが、問題は見つかりませんでした。

あなたはそれについて何か知っていますか?すべての回答をありがとう。

4

2 に答える 2

6

あなたが探しているのではGETありませんPOST。PHPを次のように変更します。

<?php
if(isset($_POST['text1']))
{
some_function();
}
?>

GETPOSTはさまざまなタイプのHTTPリクエストであり、PHPコードが正しいリクエストを探していることを確認する必要があります。この質問には、それらの違いについてかなり包括的な説明があります 。POSTとGETの違いは何ですか?

于 2012-10-30T12:27:56.260 に答える
1

これはとにかく機能しません!

その理由は、非同期であるAJAXPOSTBACKを作成しているためです。

必要なものを入手するには、次の方法を試す必要があります。

<form id="form" action="" method="post">

スクリプト部分を削除します。それが動作します!

〜Shakir Shabbir

于 2012-10-30T13:21:15.727 に答える