Ajax在ashx/aspx中的使用,以及直接使用js封装好的Ajax
//注意这里的Ajax_Get.ashx为一般处理程序,AjaxDemo_GetA.aspx为窗体应用程序
//需要引入js文件,但是这里并没有直接使用js封装好的Ajax方法
<script> $(function () { $("#btnGetDate").click(function () { var xhr; if (XMLHttpRequest) {//表示用户使用的是谷歌、火狐等 xhr = new XMLHttpRequest(); } else {//IE xhr = new ActiveXObject("Microsoft.XMLHTTP"); } //第一个参数:请求方式 get/post //第二个参数:请求地址(一般处理程序) //第三个参数:是否为异步(true) xhr.open("get", "Ajax_Get.ashx", true); xhr.send(); xhr.onreadystatechange = function () {//回调函数 if (xhr.readyState == 4) {//表示服务器奖处理结果返回过来 if (xhr.status == 200) {//表示服务端处理没有问题 //打印从服务端返回的数据 alert(xhr.responseText); } } }; }); $("#btnGetA").click(function () { var xhr; if (XMLHttpRequest) {//表示用户使用的是谷歌、火狐等 xhr = new XMLHttpRequest(); } else {//IE xhr = new ActiveXObject("Microsoft.XMLHTTP"); } //第一个参数:请求方式 get/post //第二个参数:请求地址(一般处理程序) //第三个参数:是否为异步(true) xhr.open("get", "AjaxDemo_GetA.aspx?a=ppp", true);//注意:这里使用get方法传递了一个参数,名称为a,值为ppp xhr.send(); xhr.onreadystatechange = function () {//回调函数 if (xhr.readyState == 4) {//表示服务器将处理结果返回过来 if (xhr.status == 200) {//表示服务端处理没有问题 //打印从服务端返回的数据 alert(xhr.responseText); } } }; }); }); </script>
Ajax_Get.ashx如下
public void ProcessRequest(HttpContext context) { context.Response.ContentType = "text/plain"; context.Response.Write(DateTime.Now.ToString()); }
<script src="../js/jquery-1.4.1.js"></script> <script> $(function () { $("#btnGetDate").click(function () { var xhr; if (XMLHttpRequest) { xhr = new XMLHttpRequest(); } else { xhr = new ActiveXObject("Microsoft.XMLHTTP"); } xhr.open("post", "AjaxPost.ashx", true); xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");//这里需要设置请求头 xhr.send("name=admin&pwd=123"); xhr.onreadystatechange = function () {//回调函数 if (xhr.readyState == 4) {//表示服务器将处理结果返回过来 if (xhr.status == 200) {//表示服务端处理没有问题 alert(xhr.responseText);//打印从服务端返回的数据 } } } }); }); </script>
AjaxDemo_GetA.aspx如下
protected void Page_Load(object sender, EventArgs e) { Response.Write(Request.QueryString["a"]);//这里也可以这么写:Response.Write(Request["a"]); Response.End();//结束浏览器继续渲染 }
直接使用js封装好的函数
<script> $(function () { $("#btnGetDate").click(function () { //url 参数 回调函数 $.post("AjaxPost.ashx", { "name": "admin", "pwd": "123" }, function (data) { alert(data); }); }); }); </script>
AjaxPost.ashx如下
public void ProcessRequest(HttpContext context) { context.Response.ContentType = "text/plain"; string userName = context.Request.Form["name"].ToString(); string userPwd = context.Request.Form["pwd"].ToString(); context.Response.Write("用户名【" + userName + "】密码【" + userPwd + "】"); //判断请求方式 //context.Request.HttpMethod;判断请求方式。 //context.Request["name"]; 直接获取 }
作者:Jeremy.Wu
出处:https://www.cnblogs.com/jeremywucnblog/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。