从jQuery对象检索数据

从jQuery对象检索数据,jquery,Jquery,我从Ajax函数接收的jQuery对象有问题 console.log(data) ==> dumps {"isUnique":true} 及 如何获取这些“isUnique”数据 代码 Js: 听起来好像你得到了一个JSON。你可以用 正如charlietfl在评论中提到的,您可以通过在请求中手动设置来轻松避免这种情况 期望从服务器返回的数据类型。如果没有 如果指定,jQuery将尝试根据的MIME类型推断它 响应(XML MIME类型将产生XML,在1.4中JSON将产生XML) 在1

我从Ajax函数接收的jQuery对象有问题

console.log(data) ==> dumps {"isUnique":true}

如何获取这些“isUnique”数据

代码 Js:


听起来好像你得到了一个JSON。你可以用

正如charlietfl在评论中提到的,您可以通过在请求中手动设置来轻松避免这种情况

期望从服务器返回的数据类型。如果没有 如果指定,jQuery将尝试根据的MIME类型推断它 响应(XML MIME类型将产生XML,在1.4中JSON将产生XML) 在1.4脚本中,JavaScript对象将执行脚本,并且 其他任何内容都将作为字符串返回)

“json”:将响应评估为json并返回JavaScript 对象跨域“json”请求转换为“jsonp”,除非 请求的请求选项中包含jsonp:false。JSON 严格解析数据;任何格式不正确的JSON都将被拒绝并删除 将抛出一个分析错误。从jQuery1.9开始,还需要一个空响应 拒绝;服务器应该返回null或{}响应。 (有关正确json格式的更多信息,请参见json.org。)

var obj=jQuery.parseJSON('{“isUnique”:true}');
警报(对象是唯一的)

听起来好像你得到了一个JSON。你可以用

正如charlietfl在评论中提到的,您可以通过在请求中手动设置来轻松避免这种情况

期望从服务器返回的数据类型。如果没有 如果指定,jQuery将尝试根据的MIME类型推断它 响应(XML MIME类型将产生XML,在1.4中JSON将产生XML) 在1.4脚本中,JavaScript对象将执行脚本,并且 其他任何内容都将作为字符串返回)

“json”:将响应评估为json并返回JavaScript 对象跨域“json”请求转换为“jsonp”,除非 请求的请求选项中包含jsonp:false。JSON 严格解析数据;任何格式不正确的JSON都将被拒绝并删除 将抛出一个分析错误。从jQuery1.9开始,还需要一个空响应 拒绝;服务器应该返回null或{}响应。 (有关正确json格式的更多信息,请参见json.org。)

var obj=jQuery.parseJSON('{“isUnique”:true}');
警报(对象是唯一的)

您的
数据类型不正确

改变

dataType: "text",


这将告诉jQuery从字符串内部解析对对象的响应

您的
数据类型
不正确

改变

dataType: "text",



这将告诉jQuery从字符串内部解析对对象的响应

您能将原始响应粘贴到这里吗?还有用于请求的代码。。谢谢也许
数据
仍然是一个字符串,而不是javascript对象?因为如果不是这样的话,这一切都很好。请参阅var s=data.isUnique或var s=data[“isUnique”]我假设您的数据是字符串,而不是javascript对象。请显示这些日志在请求中完成的完整上下文。您可以将原始响应粘贴到此处吗?还有用于请求的代码。。谢谢也许
数据
仍然是一个字符串,而不是javascript对象?因为如果不是这样的话,这一切都很好。请参阅var s=data.isUnique或var s=data[“isUnique”]我假设您的数据是一个字符串而不是javascript对象。请在请求中显示这些日志完成位置的完整上下文。当使用适当的
数据类型时,无需此项request@charlietfl-是的,非常正确。答案基于OP给出的第一个信息。我将更新我的答案。当使用适当的
数据类型时,无需更新答案request@charlietfl-是的,非常正确。答案基于OP提供的第一个信息。我会更新我的答案。是的。。。这就是为什么会发生这种事。这个答案比上一个好:)谢谢你也不要使用
async:false
。这是一种糟糕的做法,您应该在浏览器控制台中看到弃用警告。这是用来做什么的?我刚刚删除了它,我的Ajax加载比以前更加流畅了它会完全阻止页面中的所有内容,直到请求完成。不要用它。导致糟糕的用户体验耶!加载时我无法写入。Tyvm,op回答:)是的。。。这就是为什么会发生这种事。这个答案比上一个好:)谢谢你也不要使用
async:false
。这是一种糟糕的做法,您应该在浏览器控制台中看到弃用警告。这是用来做什么的?我刚刚删除了它,我的Ajax加载比以前更加流畅了它会完全阻止页面中的所有内容,直到请求完成。不要用它。导致糟糕的用户体验耶!加载时我无法写入。Tyvm,op-response:)
var obj = jQuery.parseJSON(data);
var myValue = obj.isUnique;
$.ajax({
    type: 'post', // or 'get' if you prefer.
    url: 'your_url',
    dataType: 'json',
    success: function(data){
        alert(data.isUnique);
    }
});
dataType: "text",
dataType: "json",