0

PHP ファイルに 2 つの JSON を作成しました。

  1. $response = array('invalid' => true);
  2. $response = array('valid' => true);

ここで、ajax を作成し、json に従って入力ボックスのクラスを変更しようとします。

$.ajax({
    type: "GET",
    url: '/script/validate_email.php',
    data: {i_emial:val_i_email},
    cache: false,
    success: function (data) { 
            $('#div118').html(data);
            if (response.valid == true) {
            // remove previous class and add another class
            } else {
            // remove previous class and add another class
            }
    }
});

しかし、それは機能しません。の解き方?

しかし、#div118 の結果データには :{"invalid":true}または{"valid":true}

編集: 使用することを忘れていましたheader('Content-Type: application/json');

4

1 に答える 1

1

responseコードで定義されていません。また、応答 (JSON) を JavaScript オブジェクトに解析するか、jQuery にこれを行うように通知する必要があります。

$.ajax({
    // ...
    dataType: 'json', // <- let jQuery know which data format to expect
    success: function (data) { // <- you define data here
        if (data.valid) { // <- data, not response; no need to compare
            // remove previous class and add another class
        } else {
            // remove previous class and add another class
        }
    }
});

またはさらに良いこと: PHPで JSON に適切なコンテンツ タイプ ヘッダーを設定すると、jQuery (およびその他のサービス) は、応答が送信されるデータ形式を把握できます。

于 2013-05-02T02:55:18.463 に答える