簡體   English   中英

從服務器(PHP腳本)獲取特定xml文件的鏈接,並將其加載到javascript中

[英]Get the link of an specific xml file from the server (php script) and load it in javascript

在網站上,我正在創建一個可以上載和下載文件的用戶,並且創建了一個包含操作信息的xml日志。 在網站上有一個頁面,其中創建了讀取xml的日志xml表。

當它全部放在硬盤上時,它可以正常工作,但是現在我開始將其托管在服務器上,我不知道如何使它工作。

在本地計算機中,xml請求是

xmlhttp.open("GET","file.xml",false);

現在在真實的網站中,我需要對php腳本進行ajax調用,以獲取我的個人xml文件的路徑。

第一個問題:我需要從php腳本輸出哪種地址?

http://mywebsite/folder1/folder2/log_username.xml

是這樣嗎

通過ajax調用,我將地址保存在變量中,並且xml請求變為:

xmlhttp.open("GET",xml_address_variable,false);

問題是未加載XML。 問題出在哪兒?

編輯:現在,我在javascript代碼中寫了一個特定用戶的實驗路徑,它可以工作,但是如果我將變量(link_xml)放在AJAX調用應保存路徑的位置,它將不起作用,所以這是關鍵部分我的代碼:

var link_xml = askXMLaddress();

if (window.XMLHttpRequest)
  {// code for IE7+, Firefox, Chrome, Opera, Safari
  xmlhttp=new XMLHttpRequest();
  }
else
  {// code for IE6, IE5
  xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
  }
xmlhttp.open("GET",link_xml,false);
xmlhttp.send();
xmlDoc=xmlhttp.responseXML;

為了使ajax加載它,您需要從文檔根目錄獲取文件路徑。 所以如果你想

http://mywebsite/folder1/folder2/log_username.xml

JS的全部需求是

../folder1/folder2/log_username.xml

那么你可以像這樣使用jquery.load()

 var path = <?php echo "../folder1/folder2/log_username.xml"; ?>;
 $( "#username" ).load(path);

現在,您最好使用另一個ajax請求,而不要使用“ php echo ...”。 但是這將取決於您的用例。

function loadXML(path, selector)
{
    var xml = new XMLHttpRequest();
    try {
        xml.open("GET", path, false);
        xml.send(null);
    }
    catch (e) {
       //some error stuff
    }
    document.getElementById(selector).innerHTML=xml.responseText;
}

我無法保證這項工作正常,我目前沒有服務器解析xml內容。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM