0

私はJSONをいじり始めていますが、GoogleもSOも助けてくれない問題にぶつかり続けています。私は非常に単純なPHPスクリプトを持っています:

<?php

$email = $_REQUEST['email'];

if ( strpos($email,'@') !== false ) {
    $data = array('status' => 1 , 'msg' => 'Sent') ;
    echo json_encode( $data ) ;
} 

else {
    $data = array('status' => 0 , 'msg' => 'Failed to send') ;
    echo json_encode( $data ) ; 
}


?>

私は次のajax呼び出しを持っています:

$('.submit').click(function() {
    $('div.load').html('<img src="images/load.gif" alt="Loading..." id="loading" />'); //EDIT

    //creation of variables to send
    var name = $('#name').val();
        email = $('#email').val();
        phone = $('#phone').val();

    $.ajax({
        type: "POST",
        dataType: "jason",

        data: {
            name: name,
            email: email,
            phone: phone
        },

        url: "test.php",

        success: function( data ) {

            $('.contact').append( data )

        }
    });

    return false; 

});

phpがJSなしで呼び出された場合(そしてフォームに適切な電子メールアドレスが含まれていない場合)、次のオブジェクトを取得します(これは私が欲しいものです!):{"status":0、 "msg": "Failed to送信"}

ただし、JS(ajax)で送信する場合、JSONオブジェクトは受信されません。何か案は?

ありがとう!

4

1 に答える 1

3
dataType: "jason",

読む:

dataType: "json",

;-)

また、コンマが必要な場所にセミコロンがいくつかあります。

var name = $('#name').val(),    // These two lines should be comma-terminated to
    email = $('#email').val(),  // make this a correct var declaration
    phone = $('#phone').val();
于 2012-06-04T22:41:54.493 に答える