通过ajax / jquery操作json

时间:2013-05-02 02:49:24

标签: jquery ajax json

我在php文件中创建了两个JSON。

  1. $response = array('invalid' => true);
  2. $response = array('valid' => true);
  3. 现在我创建一个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');

1 个答案:

答案 0 :(得分: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中set the appropriate content type header for JSON,jQuery(和其他服务)可以找出响应发送的数据格式。