Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/384.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在我的firefox插件中加载json文件_Javascript_Json_Firefox Addon - Fatal编程技术网

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

Javascript 在我的firefox插件中加载json文件,javascript,json,firefox-addon,Javascript,Json,Firefox Addon,我有一个Firefox插件,在我的一个js文件中有一个我在脚本中使用的对象。 现在我需要这个对象作为json联机,所以我要在服务器上添加这个json文件。每次我运行脚本时,它要做的第一件事就是包含该文件 如何使用javascript实现这一点? 类似于PHP的东西包括什么 我不能使用jQuery在脚本之上调用url(应该提供对象作为响应的服务器文件) 请参见此处了解AJAX调用 如果域之间发生通信,也就是说,如果包含托管在abc.xom中的JSON对象的文件和承载在XYZ.com中的AJAX调用

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

如何使用javascript实现这一点? 类似于PHP的东西包括什么


我不能使用jQuery在脚本之上调用url(应该提供对象作为响应的服务器文件)

请参见此处了解AJAX调用

如果域之间发生通信,也就是说,如果包含托管在abc.xom中的JSON对象的文件和承载在XYZ.com中的AJAX调用的脚本文件,则使用响应设置访问控制头,该响应将与启用CORS的浏览器一起工作。对于非CORS浏览器,我们应该使用JSONP对象/调用

我正在尝试这样做:

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在线
xmlhttp.send()上显示错误
debugger eval code


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

在脚本的顶部对url(应该提供对象作为响应的服务器文件)进行AJAX调用。但是firefox在xmlhttp.send()行上向我提供了错误调试器评估代码;即使代码可以工作,我也可以在xmlhttp.responseText上看到所有内容。但是我不能从那里返回任何东西,因为我无法获取数据。JS不会等到ajax得到响应后才执行下一条语句,只是在启动ajax调用后执行下一条语句。您可以改为使用回调。检查此返回将无法获取数据。JS不会等到ajax得到响应后才执行下一条语句,只是在启动ajax调用后执行下一条语句。您可以改为使用回调。请查看jsfiddle.net/noboundaries/6LLPhexactly,我读了更多关于这方面的内容。但无论如何,我解决了这个问题,调用了这个函数中需要的所有函数