自己写的一个简单的js post ajax 页面传值
ajax一般处理程序相应代码
public void ProcessRequest (HttpContext context) {
context.Response.ContentType = "text/plain";
string name = context.Request.Form["name"].ToString(); //获取Default.aspx post发送过来的数据
string pwd=context.Request.Form["pwd"].ToString();
//if (name == "admin" && pwd == "admin") {
context.Response.Write("将进入支付页面");
context.Response.Cookies["username"].Value = name;//把获取到的数据保存到cookie里面,为的是方便另一个页面获取这个值
context.Response.Cookies["pwd"].Value = pwd;
// }
}
Default.aspx 页面相应代码
//这个不用管,定死这么写,主要是为了清缓存
function createXMLHttp() { var XmlHttp; if (window.ActiveXObject) { var arr = ["MSXML2.XMLHttp.6.0", "MSXML2.XMLHttp.5.0", "MSXML2.XMLHttp.4.0", "MSXML2.XMLHttp.3.0", "MSXML2.XMLHttp", "Microsoft.XMLHttp"]; for (var i = 0; i < arr.length; i++) { try { XmlHttp = new ActiveXObject(arr[i]); return XmlHttp; } catch (error) { } } } else { try { XmlHttp = new XMLHttpRequest(); return XmlHttp; } catch (otherError) { } } }
//获取你所要传的值,并进行相应的操作
function createQueryString() {
var name = document.getElementById("test1").value;//获取id为test1的值
var pwd = document.getElementById("test2").value;
var queryString = "name=" + name + "&pwd=" + pwd;//把相应的键值存到querystring里面
return encodeURI(encodeURI(queryString)); //防止乱码
}
//发送事件
function dianji() {
var xmlHttp = createXMLHttp();
var queryString = createQueryString(); //获取createQueryString()方法的返回值
var Fileurl = 'Handler.ashx?'+new Date().getTime(); //一般处理器的地址,加上事件,主要是为了看上一次连接的时间,清理缓存
xmlHttp.open('POST', Fileurl);
xmlHttp.onreadystatechange = function() {
if (xmlHttp.readystate == 4 && xmlHttp.status == 200) {
var result = xmlHttp.responseText;//获取一般处理器的返回值
alert(result);
location.href = "Default2.aspx";//跳转的页面
}
}
xmlHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
xmlHttp.send(queryString);//发送数据
}
//html代码
<body>
<form id="form1" runat="server">
<div>
<input type="text" id="test1" />
<input type="text" id="test2"/>
<input type="button" onclick="dianji()" value="提交"/>
</div>
</form>
</body>
Default2.aspx 页面相应的代码
//获取刚才保存的cookie
function getCookie(name) {
var arr, reg = new RegExp("(^| )" + name + "=([^;]*)(;|$)");
if (arr = document.cookie.match(reg))
return unescape(arr[2]);
else
return null;
}
//弹出cookie为username的值
function cook() {
alert(getCookie("username"))
}
网上的一个实例
<script language="javascript">
var XMLHttpReq = false;
// 创建 XMLHttpRequest 对象(主函数不需改变)
function createXMLHttpRequest(){
if(window.XMLHttpRequest){ // Mozilla 浏览器
XMLHttpReq = new XMLHttpRequest();
}else if (window.ActiveXObject){ // IE 浏览器
try{
XMLHttpReq = new ActiveXObject("Msxml2.XMLHTTP");
}catch(e){
try{
XMLHttpReq = new ActiveXObject("Microsoft.XMLHTTP");
}catch(e){}
}
}
}
//发送请求函数(提交xml格式的请求参数)
function sendRequest(url,xml){
createXMLHttpRequest();
XMLHttpReq.open("POST",url,true);
XMLHttpReq.onreadystatechange = processResponse;//指定响应函数
XMLHttpReq.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
XMLHttpReq.send(xml);//发送请求
}
//创建XML
function createXML(){
var xml = "<user>";
xml = xml + "<name>sunjianbin</name>";
xml = xml + "<password>7980421</password>";
xml = xml + "</user>";
return xml;
}
//处理返回信息函数(处理xml格式的返回信息)
function processResponse(){
if(XMLHttpReq.readyState == 4){ // 判断对象状态
if(XMLHttpReq.status == 200){ // 信息已经成功返回,开始处理信息
readXml();
}else { //页面不正常
window.alert("您所请求的页面有异常。");
}
}
}
function readXml(){
var objects=XMLHttpReq.responseXML.getElementsByTagName("user");
for(var i=0;i<objects.length;i++){
var object = objects[i];
var name=object.getElementsByTagName("name")[0].firstChild.data;
var password=object.getElementsByTagName("password")[0].firstChild.data;
alert("name>>>"+name+",password>>>"+password);
}
}
function sendto(){
var url="/test/servlet/test";
var xml=createXML();
sendRequest(url,xml)
}
</script>
来源:https://www.cnblogs.com/zcwry/archive/2012/11/12/js_.html