我的页面中有一个AJAX请求, .php 页面根据页面中的事件回显整数或字符串。但是,当变量到达我的实际 javascript 文件时,它就变成了字符串。例如4更改为" 4"。这使得我的程序有问题,因为我的程序必须根据responseText运行。我有一个XMLHTTPRequestObject.onload函数,其工作方式如下:
if(typeof XMLHTTPRequest.responseText === "number"){
// do something
}
我的php脚本提供了整数或字符串的结果,如果结果是字符串,那么我可以执行该功能,但它不会发生这样的情况。我尝试使用parseInt()
和Number()
更改变量,但随后,所有内容都会更改为数字,或者是字符串。那么,我该如何解决这个问题呢?请帮忙!
答案 0 :(得分:0)
您可以尝试使用Number
将字符串转换为数字。如果您收到NaN
,则表示该字符串不是有效的数字,例如123notANumber
,请参阅 here以获取更多信息。
if (isNaN(Number('123test')) {
// This is a string
}
else {
// It's a number
}
答案 1 :(得分:0)
正如评论XMLHttpRequest.responseText
中所提到的,始终是一个字符串。最简单的解决方案可能是使用Number
构造函数将该字符串转换为数字。如果字符串不表示整数,Number
将返回NaN
。所以你可以做这样的事情而不是你现在所拥有的东西:
const parsed = Number(XMLHTTPRequest.responseText);
if(isNaN(parsed)){
//handle case where response is a string
} else {
//handle case where response is a number
}