我来自ajax的回复是json
{"status":"OK"}
然后我试图获得状态值
var send = $('#button'),
numer = $('#number');
send.on('click', function(e) {
e.preventDefault();
if (form.valid()) {
$.ajax({
type: "POST",
url: "/file.php",
data: { number: number.val() },
success: function(data) {
var test = data + '';
var objData;
var status;
try {
objData = $.parseJSON(test);
status = objData['status'];
if (objData['status'] != 'OK') {
console.log(status);
form.attr('validated', true);
form.unbind().submit();
response = false;
} else {
console.log(status);
response = true;
}
} catch (e) {
alert(e);
}
}
});
}
return false;
});
然后当我试图获得价值未定,问题在哪里时,任何人都可以帮我找到合适的salutoion
答案 0 :(得分:0)
您可以在data.status
处理程序中使用success
。您无需在$.parseJSON()
上调用data
,因为jQuery已经为您反序列化了它。试试这个:
success: function(data) {
if (data.status != 'OK') {
form.attr('validated', true).unbind().submit();
} else {
// handle the other status values here...
}
}
另请注意,您的逻辑会向后显示 - 您确定要将表单设置为“已验证”并在不 OK
的响应中提交吗?
答案 1 :(得分:0)
我不确定这项工作,但尝试在dataType: "json",
之后插入此代码url: "/file.php",
,并使用objData['status']
更改data.status
UPDATE 这是一个简单的代码iv试过
$('#button').click(function(e) {
//alert("OK");
jsonData = {"status":"OK"};
if (jsonData.status != 'OK') {
alert("STATUS NOT OK");
} else {
alert("STATUS OK");
}
});