Javascript 在Google Chrome扩展中获取JSON

Javascript 在Google Chrome扩展中获取JSON,javascript,json,google-chrome,Javascript,Json,Google Chrome,我想做一个google chrome的扩展,但是我整晚都在为一个问题烦恼。以下代码给了我一个问题: var xhr = new XMLHttpRequest(); var resp; xhr.open("GET", "http://www.roblox.com/catalog/json?Subcategory=16&SortType=3&ResultsPerPage=10", true); xhr.onload = function () { resp = JSON.pa

我想做一个google chrome的扩展,但是我整晚都在为一个问题烦恼。以下代码给了我一个问题:

var xhr = new XMLHttpRequest();
var resp;
xhr.open("GET", "http://www.roblox.com/catalog/json?Subcategory=16&SortType=3&ResultsPerPage=10", true);
xhr.onload = function () {
    resp = JSON.parse(xhr.responseText);
}
xhr.send();
我正在尝试获取一些JSON数据。如果我用
var resp=//(实际的JSON数据本身)
替换这段代码,那么扩展就可以正常工作

我怎样才能正确地获取这个JSON数据,并且让下载我的扩展的任何人都可以压缩它

很抱歉,如果有一个明显的答案,我对Javascript还是新手


谢谢

尝试设置内容类型。并非所有浏览器都使用相同的默认值

xhr.setRequestHeader("Content-Type", "*/*");

.onreadystatechange
而不是
.onload
,并检查xhr.readyState=4和xhr.status==200,以便在有响应时进行检查。也许可以尝试使用JSONP。。。?不过,我不确定你是否可以将它与Chrome扩展一起使用。在我看来,使用jQuery或类似的工具(从你那里抽象出这种复杂性)会更容易。这将有助于解决我的兼容性问题。在插入这一行的过程中,我还意识到我的一个变量需要是全局变量。简单的错误往往是最难发现的!