我有一個長的降價文件。我也有一個JavaScript文件,通過降價運行解析器。在我的javascript文件我已經設置:將javascript變量設置爲外部降價文件
變種文字=「MD/markdown.md」
這似乎並不在降價文件的內容來拉,因爲我想它。但是,如果我將降價文件的內容複製並粘貼到變量中,則所有內容都按照原樣運行。有沒有一種方法可以設置此JavaScript變量來獲取此外部降價文件的內容?
我有一個長的降價文件。我也有一個JavaScript文件,通過降價運行解析器。在我的javascript文件我已經設置:將javascript變量設置爲外部降價文件
變種文字=「MD/markdown.md」
這似乎並不在降價文件的內容來拉,因爲我想它。但是,如果我將降價文件的內容複製並粘貼到變量中,則所有內容都按照原樣運行。有沒有一種方法可以設置此JavaScript變量來獲取此外部降價文件的內容?
在Web瀏覽器的情況下,如果你想,那麼你通常會使用XMLHttpRequest對象的JavaScript來從一個URI數據。 MDN有一個體面的tutorial about using XMLHttpRequest。
大多數通用JavaScript庫都包含用於XHR的包裝,其中包含兼容性修補程序(尤其適用於舊IE)。我喜歡YUI。另一種選擇是相對無處不在的jQuery。
這個問題給出的情況並不是問題,但要小心the same origin policy。
運行一個AJAX請求:
var ajaxRequest, text;
try{
// Opera 8.0+, Firefox, Safari
ajaxRequest = new XMLHttpRequest();
} catch (e){
// Internet Explorer Browsers
try{
ajaxRequest = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try{
ajaxRequest = new ActiveXObject("Microsoft.XMLHTTP");
} catch (e){
// Something went wrong
alert("Your browser broke!");
return false;
}
}
}
ajaxRequest.onreadystatechange = function(){
if(ajaxRequest.readyState == 4){
text = ajaxRequest.responseText;
}
}
您沒有檢查到響應狀態正常,請設置一個URL來發送請求併發送請求。評論也有些過時,你提到了一些特定的瀏覽器,但不是Chrome,並且你沒有提到最近版本的IE支持標準的XHR對象。 – Quentin
出於安全原因,Javascript無法直接讀取本地文件。作爲替代方法,您可以使用XMLHttpRequest
來實現它。請檢查計算器上的鏈接:read external file with Javascript。另外,HTML5通過File API specification提供了與本地文件交互的標準方式。您可以參考本教程:http://www.html5rocks.com/en/tutorials/file/filesystem/
您是否正在運行獨立的Javascript解釋器,或者您正在Web瀏覽器中運行此解釋器? – slezica
在任何情況下,對JavaScript變量的賦值都不會觸發HTTP請求來加載* anything *。 (好吧,如果你將一個setter綁定到ajax例程,但我不認爲這就是我們在這裏所說的:-) – Pointy
他顯然不明白這一點。我不明白指出它有什麼用處,或者它對於任何人做任何事情都是有幫助的 – slezica