六狼论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

搜索
查看: 41|回复: 0

XML傳送與接收

[复制链接]

升级  25.33%

82

主题

82

主题

82

主题

举人

Rank: 3Rank: 3

积分
276
 楼主| 发表于 2013-1-23 02:55:49 | 显示全部楼层 |阅读模式
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>
您需要登录后才可以回帖 登录 | 立即注册 新浪微博账号登陆

本版积分规则

快速回复 返回顶部 返回列表