2011-02-15 56 views
2

我需要發佈/發送一些XML從一個網頁到我的服務器。我怎麼能這樣做?純Javascript數據發佈

而且,是的,我確實需要這樣做,只用純Javascript。

有什麼建議嗎?

+0

你可以使用AJAX來做到這一點。 – Adeel 2011-02-15 15:01:02

+5

它們確實讓您的生活更輕鬆,但它們也會讓您的網頁超載並增加整體加載時間。除非你的項目嚴重依賴於它,否則我不推薦使用JQuery。 – 2011-02-15 15:11:31

回答

2

例如

var xhr = getXMLHttpRequest(); 

function getXMLHttpRequest() { 
    var activeXVersions = ["Msxml2.DOMDocument.6.0","Msxml2.DOMDocument.3.0","Msxml2.XMLHTTP","Microsoft.XMLHTTP"]; 

    try { 
     return new XMLHttpRequest; 
    } catch (e) { 
     for (var i=0; i < activeXVersions.length; i++) { 
      try { 
       return new ActiveXObject(activeXVersions[i]); 
      } catch (e) {} 
     } 
    } 
    return null; 
} 

function callAjax(url) { 
    xhr.open(「POST」, url, true); 
    var xmlContents = document.getElementById(‘xml′).value; // xml contents 

    xhr.onreadystatechange = handleAjaxResponse; 
    xhr.setRequestHeader(「Content-type」, 「application/x-www-form-urlencoded」); 
    xhr.send (‘xml=’ + xmlContents ); 
} 

function handleAjaxResponse() { 
    if (xhr.readyState == 4) { 
     if (xhr.status == 200) { 
      alert(xhr.responseXML); 
     } else { 
      alert (‘An error occurred: ‘ + myRequest.statusText); 
     } 
    } 
} 
1

您可以通過兩種方法中的其中一種來實現。

  1. 使用XHR

  2. 使用iframe

第一個選項是現代的方式,而首選的方式,這些天。

我的建議是使用像jQuery這樣的庫,這將使用$.post這個微不足道的事情。

0

以下是我認爲是一個很好的教程學習AJAX link

(注:AJAX表示異步JavaScript和XML是純JavaScript)