我有一个Firefox插件,在我的一个js文件中,我有一个我在脚本中使用的对象。 现在我在网上需要这个对象作为json,所以我要在服务器上添加这个json文件。每次我运行脚本时,它必须做的第一件事就是包含该文件。
我怎样才能用javascript做到这一点? 类似于PHP的东西包括什么?
我不能使用jQuery
答案 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);
时,它会向我显示所有内容,但是当我返回此内容时,不显示任何内容