peirenlei 发表于 2013-1-23 02:55:49

XML傳送與接收

Ajax客戶端與伺服端之間,可以使用XML作為資料傳送、溝通的格式,Ajax客戶端若要發送XML,基本上就是將XML作為字串,塞在POST本體中發送,例如:
   
[*]HandleXMLEx-1.js
var xmlHttp;

function createXMLHttpRequest() {
    if(window.XMLHttpRequest) {
        xmlHttp = new XMLHttpRequest();
    }
    else if(window.ActiveXObject) {
        xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
    }
}

function prepareXML() {
    var xml = "<skills>";
    var options = document.getElementById("skills").childNodes;
    for(var i = 0; i < options.length; i++) {
        var option = options;
        if(option.selected) {
            xml = xml + "<skill>" + option.value + "<\/skill>";
        }
    }
    xml = xml + "<\/skills>";
    return xml;

}

function handleSkills() {
    var xml = prepareXML();
    var url = "XMLServlet?timeStamp" + new Date().getTime();
    createXMLHttpRequest();
    xmlHttp.onreadystatechange = handleStateChange;
    xmlHttp.open("POST", url);
    xmlHttp.setRequestHeader("Content-Type", "text/xml");
    xmlHttp.send(xml);  
}

<span style="font-family: Courier New,Courier,monospace;">在上例中,將客戶端於多選單中選擇的資料,以下列的XML格式送出:
<div style="margin-left: 40px;"><skills>
    <skill>java</skill>
    <skill>vb</skill>
    <skill>csharp</skill>
</skills>
页: [1]
查看完整版本: XML傳送與接收