微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

读取文件时,Javascript Ajax调用始终返回{“ readyState”:1}

我使用代码

 var test = $.getJSON( "about.json");
         console.log(JSON.stringify(test));

我about.json位于同一个文件目录中,但我只有{“ readyState”:1}
我不知道是什么问题.如果我错了,请帮助我.

解决方法:

getJSON不返回它得到的,因为它不能返回;该操作是异步的.相反,它允许您提供回调:

$.getJSON("about.json", function(test) {
    console.log(JSON.stringify(test));
});

当数据返回时,jQuery稍后将调用您的函数.

您看到的原因是您正在为$.getJSON返回的jqXHR对象输出一个JSON字符串.显然,该对象上唯一可枚举的,非功能性的,未定义的属性是readyState,这就是您所看到的.

and i about.json is on same file directory

(and from your comment below after changing to using the code above)

But at this time i Could not get any data from json

请注意,如果您是在本地打开的HTML文件中执行此操作(例如,文件:URL,而不是http:或https:URL),则某些浏览器(例如Chrome)会禁止所有ajax调用.在进行Web开发时,使用服务器(即使它是localhost)也很重要,因为在使用本地文件时,很多东西可能无法工作或工作方式不同.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐