为什么response.chartAt(0)在我的AJAX调用中返回undefined?

时间:2017-12-31 11:57:17

标签: javascript jquery json ajax string

我看到了什么:

charAt coming back as undefined

问题:

为什么String.charAt(0)在这种情况下返回undefined?

如何让它返回我的回复的第一个字母?

CODE:

服务器

res.send("P This is a message"); //This is the response.

客户端

    $.ajax({
        type: "POST",
        url: "/1/2",
        data: someData,
    }).done(function(response) {
        var message = String(response);
        console.log("RESPONSE: "+message);
        //Prints message without issue
        console.log("RESPONSE FIRST LETTER :"+message.charAt[0]);
        //
        //Prints 'undefined'
        //
        if (message.charAt[0] == "P") {
            localStorage.setItem("error_msg_local", message);
        } else if (message.charAt[0] == "L") {
            localStorage.setItem("success_msg_local", message);
        } else {
            localStorage.setItem("error_msg_local", "Internal error. Please try again.");
        }
    });

2 个答案:

答案 0 :(得分:1)

您使用chartAt方法作为数组索引访问器而不是方法,正确的用法应该是 message.charAt(0)

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/charAt

答案 1 :(得分:0)

可能存在一个代码可以抑制应用中出现的任何错误。由于String.prototype上存在charAt 方法 / 函数,因此应使用括号调用它,而不是方括号。

// message.charAt[0]
// should be
message.charAt(0)