Javascript 在我的firefox插件中加载json文件
我有一个Firefox插件,在我的一个js文件中有一个我在脚本中使用的对象。 现在我需要这个对象作为json联机,所以我要在服务器上添加这个json文件。每次我运行脚本时,它要做的第一件事就是包含该文件 如何使用javascript实现这一点? 类似于PHP的东西包括什么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调用
我不能使用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,我读了更多关于这方面的内容。但无论如何,我解决了这个问题,调用了这个函数中需要的所有函数