-
Ajax使用Post方式提交到.aspx页面交互的例子
有时间调试了Ajax使用Post方式提交到.aspx页面交互的过程,下面是例子:/**********************************客户端代码*****************************************************************/
1、使用XMLHttpRequest直接post到.aspx页面
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>无标题页</title>
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
<script type="text/javascript">
//创建XMLHttpRequest对象
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif)
function getXMLhttpRequest()
{
var xmlhttp;
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
if (window.XMLHttpRequest)
{
xmlhttp = new XMLHttpRequest();
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
if (xmlhttp.overrideMimeType)
{
xmlhttp.overrideMimeType("text/xml");
}
}
else
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
if (window.ActiveXObject)
{
var activeName = ["MSXML2.XMLHTTP", "Microsoft.XMLHTTP"];
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
for (var i = 0; i < activeName.length; i++)
{
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
try
{
xmlhttp = new ActiveXObject(activeName[i]);
break;
}
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
catch (e)
{
}
}
}
return xmlhttp;
}
var xmlhttp;
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif)
function postClick()
{
//定义发送字符串
//var xmldoc="<?xml version='1.0' encoding='utf-8' ?><UserInfo><User><UserName>小李</UserName><UserSex>男</UserSex><UserTel>123</UserTel><UserEmail>fdsfds@126.com</UserEmail></User><User><UserName>小林</UserName><UserSex>男</UserSex><UserTel>145</UserTel><UserEmail>xiaolin@126.com</UserEmail></User></UserInfo>";
//var xmldoc="fdsf";
var xml="<?xml version=\"1.0\" encoding=\"utf-8\" ?><UserInfo><User><UserName>小李</UserName><UserSex>男</UserSex><UserTel>123</UserTel><UserEmail>fdsfds@126.com</UserEmail></User><User><UserName>小林</UserName><UserSex>男</UserSex><UserTel>145</UserTel><UserEmail>xiaolin@126.com</UserEmail></User></UserInfo>";
var xmldoc=new ActiveXObject("MSXML2.DOMDocument");
xmldoc.loadXML(xml);
//创建XMLHttpRequest对象
xmlhttp = getXMLhttpRequest();
//初始化
//xmlhttp.open("POST", "PostHandler.ashx", true);//发送给.ashx数据可以被接收到
xmlhttp.open("POST", "jQueryPostServer.aspx", true);//此处直接发送到.aspx去接收
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
//设置头
xmlhttp.setRequestHeader("Content-Length",xmldoc.length);
//设置头信息
xmlhttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded; charset=UTF-8");//使用post发送,此句必不可少
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
//指定回调函数
xmlhttp.onreadystatechange = onReadyStateChange;//onreadystatechange要放在setRequestHeader之后
//发送
//xmlhttp.send("xml="+xmldoc);
xmlhttp.send(xmldoc);
}
// 回调函数
function onReadyStateChange()
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif)
{
if (xmlhttp.readyState == 4)
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
if (xmlhttp.status == 200)
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
//alert(xmlhttp.responseText);
document.getElementById("text").innerHTML =
xmlhttp.responseText;
}
}
}
</script>
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
</head>
<body>
<input type="button" id="post" value="提交" onclick="postClick()" />
<div id="text">
</div>
</body>
</html>
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
2、使用jquery类库post到.aspx页面
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>使用jquery发送</title>
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
<script type="text/javascript" src="js/jquery.js"></script>
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
<script type="text/javascript">
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif)
function postClick()
{
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
//发送一个xml文档
var xml="<?xml version=\"1.0\" encoding=\"utf-8\" ?><UserInfo><User><UserName>小李</UserName><UserSex>男</UserSex><UserTel>123</UserTel><UserEmail>fdsfds@126.com</UserEmail></User><User><UserName>小林</UserName><UserSex>男</UserSex><UserTel>145</UserTel><UserEmail>xiaolin@126.com</UserEmail></User></UserInfo>";
var xmldoc=new ActiveXObject("MSXML2.DOMDocument");
xmldoc.loadXML(xml);
//发送字符串
//var xmldoc="测试数据,post异步提交
"
//xmldoc = 'name=' +xmldoc;
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
$.ajax(
{
type:"POST",
url:"jQueryPostServer.aspx",
processData:false,//当发送字符串时设为true,当发送文档对象时设为false
data:xmldoc,
async:true,
beforeSend:beforeFun,
success:onReadyStateChange,
error:errorFun,
timeout:5000
});
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
}
//发送前函数
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif)
function beforeFun()
{
$("#text").html("loading
");
}
// 回调函数
function onReadyStateChange(returnValue)
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif)
{
//alert(returnValue);
$("#text").html(returnValue+"交互成功!!");
}
//错误信息
function errorFun()
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif)
{
$("#text").html("数据加载错误
");
}
</script>
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
</head>
<body>
<div>
<input type="button" id="post" value="提交" onclick="postClick()" />
<div id="text">
</div>
</div>
</body>
</html>
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
/**********************.aspx后台代码*******************************************************************************/
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
public partial class jQueryPostServer : System.Web.UI.Page
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif)
{
protected void Page_Load(object sender, EventArgs e)
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
//清除缓存
Response.Buffer = true;
Response.ExpiresAbsolute = DateTime.Now.AddDays(-1);
Response.Cache.SetExpires(DateTime.Now.AddDays(-1));
Response.Expires = 0;
Response.CacheControl = "no-cache";
Response.Cache.SetNoStore();
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
Response.ContentType = "text/plain";
string PostSend = string.Empty;
![](https://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
//当发送的是一个字符串时#region //当发送的是一个字符串时
//Post请求时
//PostSend = Request.Params["xml"];
// PostSend = Request.Form["name"];
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
//Get请求时
// PostSend = Request.QueryString["name"];
// PostSend = request["name"];
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
//cookie
// PostSend=Request.Cookies["request-data"].Value;
#endregion
![](https://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
//当发送的是一个XML文档对象时#region //当发送的是一个XML文档对象时
System.IO.StreamReader sdr = new System.IO.StreamReader(Request.InputStream);
System.Xml.XmlDocument XmlDoc = new System.Xml.XmlDocument();
XmlDoc.Load(sdr);
System.Xml.XmlNodeList nodeLists = XmlDoc.GetElementsByTagName("UserName");
foreach (System.Xml.XmlNode node in nodeLists)
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
PostSend += PostSend == string.Empty ? node.InnerText : "," + node.InnerText;
}
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
#endregion
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
//打印出UserName
Response.Write(PostSend);
}
}
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
-
相关阅读:
标准C语言(9)
标准C语言(8)
标准C语言(7)
标准C语言(6)
标准C语言(5)
标准C语言(4)
标准C语言(3)
标准C语言(1)
Linux基础
Kafka 学习笔记之 Kafka0.11之console-producer/console-consumer
-
原文地址:https://www.cnblogs.com/xnxylf/p/1534982.html
Copyright © 2020-2023
润新知