在ajax中用POST方法提交的XML串,服务器端如何回显到客户端?
大白冬瓜 2007-08-02 04:00:20 符上原代码:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE> New Document </TITLE>
<META NAME="Generator" CONTENT="EditPlus">
<META NAME="Author" CONTENT="">
<META NAME="Keywords" CONTENT="">
<META NAME="Description" CONTENT="">
</HEAD>
<script>
var xmlhttp;
function createXmlRequest(){
if(window.ActiveXObject){
xmlhttp=new window.ActiveXObject("Microsoft.XMLHTTP");
}else{
if(window.XMLHttpRequest){
xmlhttp=new XMLHttpRequest();
}else{
alert("error");
}
}
var url="postxml.php?"+new Date().getTime();
xmlhttp.open("POST",url,true);
xmlhttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded;");
xmlhttp.onreadystatechange=show;
xmlhttp.send(createXml());
}
function createXml(){
var xml="<pets>";
var options=document.getElementById("petTypes").childNodes;
var option=null;
for(var i=0;i<options.length;i++){
option=options[i];
if(option.selected){
xml=xml+"<type>"+option.value+"</type>";
}
}
alert(xml+"</pets>");
return xml+"</pets>";
}
function show(){
if(xmlhttp.readyState==4){
if(xmlhttp.status==200){
var response=document.getElementById("response");
if(response.hasChildNodes()){
response.removeChild(response.childNodes[0]);
}
document.getElementById("response").appendChild(document.createTextNode(xmlhttp.responseText));
}
}
}
</script>
<BODY>
<h1>select OPtion</h1>
<form action="#">
<select name="s" id="petTypes" multiple >
<option value="a">afds</option>
<option value="子子子">子子子</option>
<option value="ccc">cccc</option>
<option value="声东击西test">声东击西test</option>
</select>
<input type="button" value="XMLPOST" onclick="createXmlRequest();">
</form>
Server response
<div id="response">test</div>
</BODY>
</HTML>