3

現在、PHPからjQueryにいくつかの値を返す際に問題が発生しています-方法がわかりません

$(document).ready(function(){
  $('#testForm').submit(function(e){
    $.post('submit.php',$(this).serialize(),function(msg){

        $('#submit').val('Submit');

        if(msg.status){
            $('#testForm').html(msg);
        }
        else {
            $('#testForm').html("fail");
        }
    },'json');

});

});

<?php
$name = $_POST['name'];
$email = $_POST['email'];

//echo json_encode(array('status'=>1,'html'=>$name." : ".$email));
echo '{"status":1,'.$name.'}';
?>

namePHPからjQueryに変数値を返したいのは、status = 1成功を意味しますが、それでもうまくいきません。

4

2 に答える 2

5

JSONの構文は非常に厳密です。

ただし、あなたの場合は、プロパティ名を指定していないために失敗しています。引用符のない裸の値があるだけです。

を使用するだけjson_encodeで、すべてのエッジケースを処理できます。

于 2012-12-19T03:51:23.963 に答える
1

有効なjson文字列を返していますか?

この指示から:

echo '{"status":1,'.$name.'}';

$ nameがプレーンな文字列(たとえば「hello」)であるとすると、次のjson文字列を返します。

{"ステータス":1、こんにちは}

そして、これは無効です。

于 2012-12-19T03:53:14.377 に答える