Ajax XML 处理经常使用。
今天做一个购物车的Ajax,做了一个简单的原型:
采用Form的形式将数据提交到asp处理,然后计算返回XML处理结果。JS解析后,填充到页面元素:
<script type="text/javascript">
function postNewContact(){
var form = $('form');
var url = 'test.asp';
var myAjax = new Ajax.Request(url,{method:'post',
parameters: Form.serialize(form),
onComplete:showResponse});
}
function showResponse(originalRequest){
var xmlDoc = originalRequest.responseXML.documentElement;
//alert(xmlDoc);
var root = xmlDoc.getElementsByTagName('a')[0].firstChild.nodeValue;
alert(root);
//$('mnt').innerHTML =
}
</script>
your shopping cart:<br>
has
<div id="mnt">0</div>
goods,totlely cost
<div id="mny">0</div>
RMB<br>
<form method="post" id="form" name="form">
<input type="text" name="act">
<input οnclick="postNewContact();" name="pbut" type="button" value="POST" />
</form>
ASP页面如下:
<%
Dim cXMLStr
Response.CharSet="gb2312"
Response.ContentType="text/xml"
cXMLStr = "<?xml version=""1.0"" encoding=""gb2312""?>"
cXMLStr = cXMLStr & "<root>"
cXMLStr = cXMLStr & "<a>测试数据</a>"
cXMLStr = cXMLStr & "<b>测试 数据</b>"
cXMLStr = cXMLStr & "<c>不 弄 完 没 法 下 班 </c>"
cXMLStr = cXMLStr & "</root>"
Response.Write (cXMLStr)
%>
再附上一个XML文件的例子,还是多层XMl节点的。