我在php文件中创建了两个JSON。
$response = array('invalid' => true);
$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');
答案 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(和其他服务)可以找出响应发送的数据格式。