jquery解析ajax响应

jquery parse ajax response

本文关键字:响应 ajax 解析 jquery      更新时间:2023-09-26

我使用Jquery的ajax方法,需要帮助解析从后端服务器返回的数据。

服务器响应将是"有效"或"无效"。

目前,我的"如果语句逻辑不起作用,这就是我迄今为止所尝试的)

$.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();
        };
    }
});

非常感谢你的帮助。

您正在检查result.indexOf,但响应数据在data而不是result中。此外,indexOf返回位置,该位置可能为0。因此更改为:

if(data.indexOf("not valid") > -1) {

附带说明:这种检查结果的方法很容易出错,通常是不可取的。最好输出一个具有success属性的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
        };
    }
});

indexOf将返回字符串中的位置。所以用这个来代替:

if(data.indexOf("not valid") == 0)