我正在构建一个使用 Angularjs 的 Web 应用程序。在我的一个 Controller 中,我调用后端返回用户当前的登录状态。
$http.get('http://localhost:3000/status')
.success(function(status) {
if (status == 'internal') {
// do stuff...
即使请求响应的状态等于“内部”,(status == 'internal') 也会计算为 false。为了测试一下我把
$http.get('http://localhost:3000/status')
.success(function(status) {
console.log(typeof status)
console.log(status)
console.log(status == "internal")
打印内容
string
"internal"
false
对这里可能发生的事情有什么想法吗?
最佳答案
抱歉,只有当您使用 Chrome 时,这才是有效的答案。看起来 Firefox 将在控制台上将字符串括在引号中。
<小时/>您的字符串周围有额外的引号。 console.log(string)
不会显示引号。观察:
console.log("what")
what
您看到 "internal"
而不是 internal
的唯一方法是字符串周围有额外的引号。
关于javascript - 字符串http响应!= JavaScript中的相同字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20502894/