【发布时间】:2014-02-20 21:24:55
【问题描述】:
我做了一个 AJAX 调用,它只返回一个数字:
var lastID = 0;
var loading = true;
// Get latest message ID
$.ajax({
url: "libs/getLatestMessageID.ajax.php",
dataType: "text",
type: "GET",
success: function(data) {
lastID = data;
console.log("Received latest message ID: " + typeof(data) + " \"" + data + "\" " + parseInt(data, 10));
},
});
我从服务器收到的是一个字符串,例如“21”,现在需要将其转换为数字,以便 JS 可以使用它进行计算。在 Firefox 中,它工作正常,console.log() 行的输出是:
收到最新消息ID:字符串“21”21
但谷歌浏览器让 parseInt() 返回:
收到最新消息ID:字符串“21”NaN
这里出了什么问题?
【问题讨论】:
-
我尝试了添加和不添加基本参数,没有任何效果。
-
我觉得应该是
data.d -
与 number() 和 data.d 的结果相同:NaN
-
您的字符串可能包含“不可见”字符。尝试将字符串输出为转义字符串,即。
... + escape(data) + ... -
可能
21前面有一些不可打印的字符。
标签: javascript