我正在使用Jquery的ajax方法,我需要帮助解析从后端服务器返回的数据。
服务器响应将是"有效"或"无效。
目前我的" if语句逻辑不起作用,这是我到目前为止所尝试的)。
$.ajax({
url: 'php/phone-valid.php',
type: 'POST',
data: {userid: $.trim($('#userid').val())},
success: function(data) {
console.log(data);
if (result.indexOf("not valid")) {
("#mustbevalid").val("You must validate your phone number");
console.log("Phone hasn't been validated");
e.preventDefault();
};
}
});
非常感谢您的帮助。
答案 0 :(得分:1)
您正在检查result.indexOf
,但您的回复数据位于data
而不是result
。另外,indexOf返回的位置可以是0.所以改为:
if(data.indexOf("not valid") > -1) {
附注:这种检查结果的方法容易出错,通常是不合需要的。最好输出带有成功属性的JSON对象。
成功响应示例:
echo json_encode(array('success' => true));
// Outputs: {"success":true}
错误响应示例:
echo json_encode(array('success' => false));
// Outputs: {"success":false}
现在,您可以解析JSON:
$.ajax({
...
dataType : 'json', // <-- tell jQuery we're expecting JSON
success: function(data) {
if (data.success) {
// success
} else {
// error
};
}
});
答案 1 :(得分:0)
indexOf将返回字符串中的位置。所以请改用它:
if(data.indexOf("not valid") == 0)