<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Sending an XML Request</title><script type="text/javascript">var xmlHttp;function createXMLHttpRequest() {
if (window.ActiveXObject) {
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
}
else if (window.XMLHttpRequest) {
xmlHttp = new XMLHttpRequest();
}
}
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>";
}
}
xml = xml + "<\/pets>";
return xml;
}function sendPetTypes() {
createXMLHttpRequest();
var xml = createXML();
var url = "PostingXMLExample?timeStamp=" + new Date().getTime();
xmlHttp.open("POST", url, true);
xmlHttp.onreadystatechange = handleStateChange;
xmlHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
xmlHttp.send(xml);
}
function handleStateChange() {
if(xmlHttp.readyState == 4) {
if(xmlHttp.status == 200) {
parseResults();
}
}
}function parseResults() {
var responseDiv = document.getElementById("serverResponse");
if(responseDiv.hasChildNodes()) {
responseDiv.removeChild(responseDiv.childNodes[0]);
}
var responseText = document.createTextNode(xmlHttp.responseText);
responseDiv.appendChild(responseText);
}
</script>
</head><body>
<h1>Select the types of pets in your home:</h1>
<form action="#">
<select id="petTypes" size="6" multiple="true">
<option value="cats">Cats</option>
<option value="dogs">Dogs</option>
<option value="fish">Fish</option>
<option value="birds">Birds</option>
<option value="hamsters">Hamsters</option>
<option value="rabbits">Rabbits</option>
</select>
<br/><br/>
<input type="button" value="Submit Pets" onclick="sendPetTypes();"/>
</form> <h2>Server Response:</h2> <div id="serverResponse"></div></body>
</html>
以上是一段向java提交XML格式信息的ajax,我不懂java,所以请懂的人根据这段代码能写出一个.net片断,用于响应客户端的请求.
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Sending an XML Request</title><script type="text/javascript">var xmlHttp;function createXMLHttpRequest() {
if (window.ActiveXObject) {
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
}
else if (window.XMLHttpRequest) {
xmlHttp = new XMLHttpRequest();
}
}
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>";
}
}
xml = xml + "<\/pets>";
return xml;
}function sendPetTypes() {
createXMLHttpRequest();
var xml = createXML();
var url = "PostingXMLExample?timeStamp=" + new Date().getTime();
xmlHttp.open("POST", url, true);
xmlHttp.onreadystatechange = handleStateChange;
xmlHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
xmlHttp.send(xml);
}
function handleStateChange() {
if(xmlHttp.readyState == 4) {
if(xmlHttp.status == 200) {
parseResults();
}
}
}function parseResults() {
var responseDiv = document.getElementById("serverResponse");
if(responseDiv.hasChildNodes()) {
responseDiv.removeChild(responseDiv.childNodes[0]);
}
var responseText = document.createTextNode(xmlHttp.responseText);
responseDiv.appendChild(responseText);
}
</script>
</head><body>
<h1>Select the types of pets in your home:</h1>
<form action="#">
<select id="petTypes" size="6" multiple="true">
<option value="cats">Cats</option>
<option value="dogs">Dogs</option>
<option value="fish">Fish</option>
<option value="birds">Birds</option>
<option value="hamsters">Hamsters</option>
<option value="rabbits">Rabbits</option>
</select>
<br/><br/>
<input type="button" value="Submit Pets" onclick="sendPetTypes();"/>
</form> <h2>Server Response:</h2> <div id="serverResponse"></div></body>
</html>
以上是一段向java提交XML格式信息的ajax,我不懂java,所以请懂的人根据这段代码能写出一个.net片断,用于响应客户端的请求.
要比这简单得多。。
var url = "PostingXMLExample?timeStamp=" + new Date().getTime();
改为
var url = "PostingXMLExample.aspx?timeStamp=" + new Date().getTime();
以访问aspx页面
2
PostingXMLExample.aspx,设ValidateRequest="false"以便传送xml标签,并清空html标签,只返回结果指示
<%@ Page Language="C#" ValidateRequest="false" AutoEventWireup="true" CodeFile="PostingXMLExample.aspx.cs" Inherits="PostingXMLExample" %>
3
PostingXMLExample.aspx.cs
public partial class PostingXMLExample : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
String str = Request.Form[0];
XmlDocument xd = new XmlDocument();
xd.LoadXml(str);
XmlElement xe = xd.DocumentElement;
string result = "您选择了:";
foreach (XmlNode xn in xe.ChildNodes) {
result +="["+xn.InnerText+"]";
}
Response.Write(result);
}
}
<script lang....>
var xmldom=new ...;
xmldom.load("b.aspx?id=1");
document.writeln(xmldoc.xml);
</script>b.aspxResponse.Write("<root>" + GetTypeName(Request["id"]) + "</root>");public string GetTypeName(int id)
{
...;
return ...;
}你直接在浏览地址蓝输入
http://xxxx.com/b.aspx?id=2
那么页面输出
<root>id=2对应的那个typename值</root>
理解这个没有问题吧.然后A.aspx用xmldom 去 load了这个的输出内容而已.就这么简单
客户端的脚本无论是java还是dotnet都是一样的.
区别就在你服务器的处理.