原始的ajax,在第一个页面定义如下:

         function createAjax() {
var xmlhttp;
if (window.ActiveXObject)
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");//对ie浏览器创建
else if (window.XMLHttpRequest)
xmlhttp = new XMLHttpRequest();//对其他浏览器创建
return xmlhttp;
}
//ajax_POST
function ajaxPOST() {
var xmlhttp = createAjax();//创建
var name = document.getElementById("name").value;
var pwd = document.getElementById("pwd").value;
xmlhttp.open("post", "get.aspx", true);//get/post, url , 是否异步传输
xmlhttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); //post方式必须加上的一句
xmlhttp.onreadystatechange = function () { //状态变化时执行的函数
if (xmlhttp.readyState == 4 && xmlhttp.status == 200)
document.getElementById("result").innerHTML = xmlhttp.responseText;
}
xmlhttp.send("name="+name+"&pwd="+pwd);//发送
}
//ajax_GET
function ajaxGET() {
var xmlhttp = createAjax();
var name = document.getElementById("name").value;
var pwd = document.getElementById("pwd").value;
xmlhttp.open("get", "get.aspx?name="+name+"&pwd="+pwd, true);
xmlhttp.onreadystatechange = function () {
if (xmlhttp.readyState == 4 && xmlhttp.status == 200)
document.getElementById("result").innerHTML = xmlhttp.responseText;
}
xmlhttp.send(null);
}
onreadyStateChange事件是在readyState属性发生改变时触发的
readyState的值表示了当前请求的状态,在事件处理程序中可以根据这个值来进行不同的处理。
readyState有五种可取值0:尚未初始化,1:正在加载,2:加载完毕,3:正在处理;4:处理完毕。一旦readyState属性的值变成了4,就可以从服务器返回的响应数据进行访问了。
Status存储了服务器端返回的Http请求响应代码,它表示请求的处理结果.
Http状态码含义:
200 请求成功
202 请求被接受但处理未完成
400 错误请求
404 请求资源未找到
500 内部服务器错误

接着在data.aspx页面cs文件中的PageLoad中写如下代码:

             Response.Clear();
string name = Request.QueryString["name"];
string pwd = Request.QueryString["pwd"];
Response.Write("名字是:" + name + "<br />密码是:" + pwd);
Response.End();

这样,这个ajax程序就完成了。

有点麻烦是不是?倘若用JQuery的ajax,那么事情变得简单得多。

data.aspx.cs页面不动,将第一个页面改为:

  $(function () {
$("#btn").click(function () {
var name = document.getElementById("name").value;
var pwd = document.getElementById("pwd").value;
$("#result").load("get.aspx?name=" + name + "&pwd=" + pwd, function (responseText, textStatus, XMLHttpRequest) { //JQueryAjaxGet
document.getElementById("result").innerHTML = responseText;
}); //JQueryAjaxGet
$("#result").load("get.aspx", { "name": name,"pwd":pwd }, function (responseText, textStatus, XMLHttpRequest) { document.getElementById("result").innerHTML = responseText;
}); //JQueryAjaxPost
});
});

可以看到,不需要创建xmlHttp对象,只需要一个load()方法。
load()方法

对于get:   url,回调函数(不需要返回success)

对于post: url,param,回调函数

回调函数function(responseTest,textStatus,XMLHttpRequest){},其中

responstTest        //请求返回的内容

textStatus           //请求状态:success,error

XMLHttpRequest  //XMLHttpRequest对象

对ajax基础的掌握随笔的更多相关文章

  1. 史上最全的Ajax基础详解

    同步请求和异步请求 先解释一下同步和异步的概念: 同步是指:发送方发出数据后,等接收方发回响应以后才发下一个数据包的通讯方式. 异步是指:发送方发出数据后,不等接收方发回响应,接着发送下个数据包的通讯 ...

  2. 【Java EE 学习 31】【JavaScript基础增强】【Ajax基础】【Json基础】

    一.JavaScript基础增强 1.弹窗 (1)使用window对象的showModelDialog方法和showModelessDialog方法分别可以弹出模式窗口和非模式窗口,但是只能在IE中使 ...

  3. Ajax基础知识《一》

    对于网站开发人员,一定不会陌生的Ajax技术,本篇就让我们认识一下它,或许在日后的开发过程中我们就可以使用到.Ajax在那方面使用的比较多呢?答案:表单注册,传统的表单注册,有时需要填写大量的信息,当 ...

  4. Ajax基础2

    什么是服务器 网页浏览过程的分析 如何配置自己的服务器程序(AMP) 什么是Ajax 无刷新数据读取 异步,同步 Ajax基础(2) 使用Ajax 基础请求显示txt的文件 字符集编码 缓存,阻止缓存 ...

  5. ajax基础语法、ajax做登录、ajax做用户名验证是否可用、ajax做关键字查询动态显示、ajax做用表格显示数据并增加操作列

    AJAX: AJAX 是一种用于创建快速动态网页的技术. 通过在后台与服务器进行少量数据交换,AJAX 可以使网页实现异步更新.这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新.   ...

  6. Ajax基础--JavaScript实现

    ajax原理 1.ajax 即“Asynchronous JavaScript and XML”(异步 JavaScript 和 XML),也就是无刷新数据读取. 通俗地讲就是:AJAX 通过在后台与 ...

  7. jQuery基础---Ajax基础教程(二)

    jQuery基础---Ajax进阶 内容提纲: 1.加载请求 2.错误处理 3.请求全局事件 4.JSON 和 JSONP 5.jqXHR 对象 发文不易,转载请注明出处! 在 Ajax 基础一篇中, ...

  8. jQuery基础---Ajax基础教程

    jQuery基础---Ajax基础 内容提纲: 1.Ajax 概述 2.load()方法 3.$.get()和$.post() 4.$.getScript()和$.getJSON() 5.$.ajax ...

  9. Ajax基础知识(二)

    接上一篇  Ajax基础知识(一) 在上一篇博客里,抛弃了VS中新建aspx页面,拖个button写上C#代码的方式.使用ajax的方式,异步向服务器请求数据.我们让服务器只简单的返回一个" ...

随机推荐

  1. Android4.4.2KK竖屏强制更改为横屏的初步简略方案

    点击打开链接 解决方案: 当前是根据当前问题场景即竖屏强制更改为横屏的需求而做的改动,基本是hardcode定义的状态,总共修改有效代码行数5行,如果后续有其他需求或者需要更灵活的配置横屏和竖屏,可以 ...

  2. 03 EditText文本编辑框

    二  EditText   文本编辑框  父类: TextView     >概念:文本编辑框  可以进行文本编辑         android:textColor="#00f&qu ...

  3. 【Unity Shaders】Transparency —— 使用渲染队列进行深度排序

    本系列主要参考<Unity Shaders and Effects Cookbook>一书(感谢原书作者),同时会加上一点个人理解或拓展. 这里是本书所有的插图.这里是本书所需的代码和资源 ...

  4. Cocos2D将v1.0的tileMap游戏转换到v3.4中一例(二)

    大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处. 如果觉得写的不好请告诉我,如果觉得不错请多多支持点赞.谢谢! hopy ;) 首先在CatMazeV3中新建CatSprite类,继承于Spr ...

  5. [Linux]vbox 虚拟机添加新磁盘

    情况是这样的,开始创建虚拟机的时候硬盘设置太小了,只有10g,我现在通过vbox的设置给这个linux(centos6.6)虚拟机添加了一块硬盘. 下面的操作就是怎么把硬盘挂载到系统中. 通过 fdi ...

  6. eclipse集成html5插件

    1. 在线安装:Help->Install New Software...->Add...-> Name: "Aptana", Location: http:// ...

  7. svn 回退/更新/取消至某个版本命令详解

    1. 取消Add/Delete 取消文件 svn revert 文件名 取消目录 svn revert --depth=infinity 目录名 2. 回退版本 方法1: 用svn merge 1) ...

  8. Android Studio 1.0RC1版发布

    Android Studio 1.0RC1 版本发布. 以下是官网该版本说明: Android Studio 1.0 Release Candidate 1 November 20th, 2014:  ...

  9. NSData 与 struct 以及XML的转换。

    在做OC与C++ 混编的时候,我们可能会用到struct 与NSData的相互转换.在这里做一个记录 1.struct转换为NSData 例如如下的struct: struct tagPackageH ...

  10. Linux0.11进程分配时间片的策略

    想知道内核什么时候给进程重新分配时间片,最好的办法就是阅读源代码(其中已经打了注释) /******************************************************** ...