我有一個Firefox插件,在我的一個js文件中我有一個對象,我在我的腳本中使用。 現在我需要這個對象在線作爲JSON,所以我打算在服務器上添加這個JSON文件。每次我運行腳本時,它所要做的第一件事就是包含該文件。在我的Firefox插件中加載json文件
我該怎麼用javascript做到這一點? 與PHP類似的東西包括東西?
我不能使用jQuery
我有一個Firefox插件,在我的一個js文件中我有一個對象,我在我的腳本中使用。 現在我需要這個對象在線作爲JSON,所以我打算在服務器上添加這個JSON文件。每次我運行腳本時,它所要做的第一件事就是包含該文件。在我的Firefox插件中加載json文件
我該怎麼用javascript做到這一點? 與PHP類似的東西包括東西?
我不能使用jQuery
我試着這樣做:
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);
的功能裏面,它讓我看到的一切,但是當我回到這一點,不顯示任何內容
返回不會得到的數據。 JS不會等待直到ajax獲得響應才執行下一條語句,只是在啓動ajax調用後執行下一條語句。您可以改用回調。仔細查看jsfiddle.net/noboundaries/6LLPh – noboundaries
,我讀了更多關於這個。但無論如何,我解決了這個問題,調用了我需要的所有功能 – BrunoRamalho
有一個AJAX調用中的URL腳本的頂部(服務器文件應當提供對象爲響應)。
在這裏看到的AJAX調用,http://www.w3schools.com/ajax/tryit.asp?filename=tryajax_first
應的通信區域之間,即發生,如果持有abc.xom和腳本文件託管JSON對象,使得AJAX調用在XYZ.com主辦然後設置文件帶響應的訪問控制標題,可用於支持CORS的瀏覽器http://enable-cors.org/client.html。對於非CORS瀏覽器,我們應該使用JSONP對象/調用。
謝謝!它的作品,我可以得到的信息。 – BrunoRamalho
但火狐讓我錯誤調試器eval代碼行xmlhttp.send();即使代碼工作,我可以看到xmlhttp.responseText上的所有內容。但我不能返回任何東西 – BrunoRamalho
返回不會得到的數據。 JS不會等待直到ajax獲得響應才執行下一條語句,只是在啓動ajax調用後執行下一條語句。您可以改用回調。看看這個http://jsfiddle.net/noboundaries/6LLPh/ – noboundaries
對腳本的頂部有一個對URL(應該提供對象作爲響應的服務器文件)的AJAX調用。 – noboundaries