-4

私はウェブサイトを作成していて、ajaxがhtmlアクションではなくフォームデータを送信できるようにする方法を知りたい. いくつかの結果のうちの 1 つをエコーする可能性のある php スクリプトを作成し、そのエコーに基づいて、php スクリプトによって実行されたアクションを ajax に警告させます。

たとえば、php echo == 1 の場合、alert("アカウントが作成されました"); echo が == 2 の場合、alert("そのメールアドレスには既にアカウントが登録されています"); などなど

私は、例を見て ajax の限られた経験を得て、おそらく正しくない非常に基本的な関数を作成しました。この機能を利用できるように、Ajaxの専門家が詳細を記入してくれるかどうか疑問に思っています。こんなふうになります:

$("#createaccount").submit(function(){
    $.ajax({
    type: POST,
    url: "createaccount2.php",
    data: 
    success: function(server_response){
        if(server_response == 0){
            alert();
        }
        else if(server_response == 1){
            alert();
        }
        else if(server_response == 2){
            alert();
        }
        else if(server_response == 3){
            alert();
        }

    });
});
4

1 に答える 1

0

正確に何が必要かわかりませんが、「data:」が空であることがわかります。シリアル化を使用して、フォーム内のすべての入力データを次のようにphpに送信 できます。

これがテストフォームです:

<form id="createaccount">
<input type="text" name="a" id="a">
<input type="submit" value="Submit">
</form>

これがあなたのjavascriptの部分です:

$("#createaccount").submit(function(){
    $.ajax({
    type: POST,
    url: "createaccount2.php",
    data: $("#createaccount").serialize(),
    success: function(server_response){
        if(server_response == 0){
            alert('HELLO');
        }
        else if(server_response == 1){
            alert('WORLD');
        }
        else if(server_response == 2){
            alert('AAAA');
        }
        else if(server_response == 3){
            alert('zzZzZzZ');
        }

    });
});

次に、PHPで$_POST変数を使用してデータにアクセスできます。

<?php

$a=$_POST['a'];
if($a=='hello'){
    echo "0";
}elseif($a=='world'){
    echo "1";
}else{
    echo "2";
}

?>

「hello」と入力してphpに送信すると、「0」がエコーされ、「HELLO」が表示
されます(ps:テストされていません!)

于 2012-07-30T16:12:15.730 に答える