在我的firefox插件中加载json文件

时间:2013-11-22 11:34:26

标签: javascript json firefox-addon

我有一个Firefox插件,在我的一个js文件中,我有一个我在脚本中使用的对象。 现在我在网上需要这个对象作为json,所以我要在服务器上添加这个json文件。每次我运行脚本时,它必须做的第一件事就是包含该文件。

我怎样才能用javascript做到这一点? 类似于PHP的东西包括什么?

我不能使用jQuery

2 个答案:

答案 0 :(得分:1)

在脚本之上对url(应该提供对象的服务器文件)进行AJAX调用。

请参阅此处查看AJAX,http://www.w3schools.com/ajax/tryit.asp?filename=tryajax_first

如果域之间发生通信,即,如果在abc.xom中托管JSON对象的文件和在XYZ.com中托管AJAX调用的脚本文件,则设置具有响应的Access-Control头,该响应可用于启用CORS浏览器http://enable-cors.org/client.html。对于非CORS浏览器,我们应该使用JSONP对象/调用。

答案 1 :(得分:0)

我试图这样做:

var locations = loadLocations();
function loadLocations() {
    var xmlhttp;
    if (window.XMLHttpRequest) {
        xmlhttp=new XMLHttpRequest();
    }
    else {
        alert("Something went wrong!");
    }

    xmlhttp.onreadystatechange=function() {
        if (xmlhttp.readyState==4 && xmlhttp.status==200) {
            return xmlhttp.responseText;
            //console.log(xmlhttp.responseText);
        }
    }
    xmlhttp.open("GET","http://.../locations.json",true);
    xmlhttp.send();
}
console.log(locations);

但firefox在debugger eval code

行显示错误xmlhttp.send();

当我在函数中执行console.log(xmlhttp.responseText);时,它会向我显示所有内容,但是当我返回此内容时,不显示任何内容