ajax呼び出しからPHPスクリプトへのJSON応答を取得する

私はajax呼び出しからメッセージを送信するPHPスクリプトにjson応答を返すことに成功しました。成功すると、PHPスクリプトにデータを送信するときに、次のようなjson文字列を返す必要があります...

{"status":"valid","message":"Your message was send successfully."}

私は、 "ステータス"が有効であるかどうかを確認し、メッセージが送信されたことを示すdivを表示したいと思います。どのように私はこれをやって行くとこれは私が今まで持っているコードです...

$("#send").click(function() {
        var complete = true;
        $('input#fullname, input#email, input#subject, textarea#message').each(function() {
            if ($(this).val()) {
                $(this).css("background","#121212").css("color","#5c5c5c");
            } else {
                $(this).css("background","#d02624").css("color","#121212");
                complete = false;
            }
        });
        if (complete == true){
            var name = $("input#fullname").val();
            var email = $("input#email").val();
            var subject = $("input#subject").val();
            var message = $("textarea#message").val();
            var data = 'name='+name+'&email='+email+'&subject='+subject+'&message='+message;
            $.ajax({
                type:"POST",  
                url:"resources/includes/contact.php",  
                data:data,
                success:function(data){
                    alert(data);
                }
            });
        }
    });

Thanks,
Nathaniel Blackburn

2
私はあなたが間違った方法でパラメータを設定していると思う、あなたはメソッドのポストを使用して、データを送信する方法を変更するか、取得する方法を変更する必要がありますいずれか実行可能ではないクエリ文字列としてデータを送信しています。 ここはjqueryの投稿ドキュメントです。
追加された 著者 punit,

3 答え

あなたはこのようにすることができます

$.ajax({
                type:"POST",  
                url:"resources/includes/contact.php",  
                data:data,
                dataType: 'json',
                success:function(response){
                   if(response.status="valid"){
                        ......
                  }

                }
            });
1
追加された
dataType: 'json'、 dateType: 'json' を置き換えます。
追加された 著者 NAVEED,
彼はできません。あなたのコードにいくつか間違いがあります
追加された 著者 Martin.,
@Arfeenの最大の問題は、レスポンスはオブジェクトではなくテキストであることです。最初に解析する必要があります
追加された 著者 Martin.,
@Arfeenうわー。申し訳ありませんが、私はそれを欠場しました
追加された 著者 Martin.,
あなたはいくつかのPLZを教えてくれますか?
追加された 著者 Arfeen,
ありがとう@NAVEED ..私はそのタイプミスを修正しました。
追加された 著者 Arfeen,
@nblackburn彼はすでにデータ変数を使っていたので、私は応答を使用しました..混乱を避けるために。
追加された 著者 Arfeen,
@Martin私は既に "dataType: 'json'"と言いますが、これはjsonオブジェクトとしての応答を与えています
追加された 著者 Arfeen,
success:function(responce){}は、成功する必要があるため、その1つです。function(data){}
追加された 著者 user955822,

success関数を次のように変更します。

success:function(data)
{
    jsonObject = JSON.parse(data);
    alert(jsonObject.status);
}
0
追加された
ありがとう、私はこれを試し、何が起こるか見る:)
追加された 著者 user955822,
素晴らしいですが、これは非常に役立ちます、私はそれが何か簡単だろうと分かっていました。
追加された 著者 user955822,

成功コールバック関数では、

data = $.parseJSON(data);
if (data.status == "valid"){
     //do stuff
}
0
追加された
PHP - 日本のコミュニティ [ja]
PHP - 日本のコミュニティ [ja]
4 参加者の

このグループではPHPについて話します。 パートナー:kotaeta.com

JavaScript - 日本のコミュニティ
JavaScript - 日本のコミュニティ
2 参加者の

日本人コミュニティのjavascript