2013-11-22 31 views
0

我有一個Firefox插件,在我的一個js文件中我有一個對象,我在我的腳本中使用。 現在我需要這個對象在線作爲JSON,所以我打算在服務器上添加這個JSON文件。每次我運行腳本時,它所要做的第一件事就是包含該文件。在我的Firefox插件中加載json文件

我該怎麼用javascript做到這一點? 與PHP類似的東西包括東西?

我不能使用jQuery

+0

對腳本的頂部有一個對URL(應該提供對象作爲響應的服務器文件)的AJAX調用。 – noboundaries

回答

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);的功能裏面,它讓我看到的一切,但是當我回到這一點,不顯示任何內容

+1

返回不會得到的數據。 JS不會等待直到ajax獲得響應才執行下一條語句,只是在啓動ajax調用後執行下一條語句。您可以改用回調。仔細查看jsfiddle.net/noboundaries/6LLPh – noboundaries

+0

,我讀了更多關於這個。但無論如何,我解決了這個問題,調用了我需要的所有功能 – BrunoRamalho

1

有一個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對象/調用。

+0

謝謝!它的作品,我可以得到的信息。 – BrunoRamalho

+0

但火狐讓我錯誤調試器eval代碼行xmlhttp.send();即使代碼工作,我可以看到xmlhttp.responseText上的所有內容。但我不能返回任何東西 – BrunoRamalho

+0

返回不會得到的數據。 JS不會等待直到ajax獲得響應才執行下一條語句,只是在啓動ajax調用後執行下一條語句。您可以改用回調。看看這個http://jsfiddle.net/noboundaries/6LLPh/ – noboundaries

相關問題