gpt4 book ai didi

jquery - 即不理解 JSON 字符串中的 'false' ?

转载 作者:行者123 更新时间:2023-12-01 02:25:54 26 4
gpt4 key购买 nike

我有一些 php 检查用户是否登录并返回 false,然后通过 ajax 传递到浏览器,让用户知道他需要登录。

在 FF 中完美运行,警报返回'true',但在 IE 中,无论我做什么,它都会返回'null'

// Check for logged in user
$.getJSON(baseUrl+"index.php/login/checkState", function(data) {
alert(data);
if(data==true){
dologInState();
}else{
dologOutState();
}
});

PS:从 PHP 返回的字符串根本就是 false

有什么想法吗?

最佳答案

如果您的 JSON 有效(请参阅 json.orgJSONlint ),data 将是一个对象或数组,而不是一个标志。

字符串 false 本身不是有效的 JSON。 JSON 表示法中的顶层始终是对象 ({ ... }) 或数组 ([ ... ])。要使其有效 JSON,您可以这样做:

{"success": false}

...然后测试

$.getJSON(baseUrl+"index.php/login/checkState", function(data) {
alert(data);
if(data.success){ // <== Note here we're checking the `success` property of the deserialized object
dologInState();
}else{
dologOutState();
}
});

一些“JSON”解析器实际上是完整的JavaScript表达式解析器(基本上只是使用eval,尽管这很危险),它可能会解释字符串false 按照您想要的方式,但您不能依赖它(因为正确的解析器会拒绝它)。

关于jquery - 即不理解 JSON 字符串中的 'false' ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3114391/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com