我看到了什么:
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.");
}
});
答案 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)