原始的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. Java采用JDBC的方式连接Hive(SparkSQL)

    前两天,由于系统的架构设计的原因,想通过Java直接访问Hive数据库,对于我这个Java以及Hadoop平台的菜鸟来说,的确是困难重重,不过,还好是搞定了.感觉也不是很麻烦.这篇文章,作为一个感想记 ...

  2. 1045. Favorite Color Stripe (30) -LCS允许元素重复

    题目如下: Eva is trying to make her own color stripe out of a given one. She would like to keep only her ...

  3. 【嵌入式开发】嵌入式 开发环境 (远程登录 | 文件共享 | NFS TFTP 服务器 | 串口连接 | Win8.1 + RedHat Enterprise 6.3 + Vmware11)

    作者 : 万境绝尘 博客地址 : http://blog.csdn.net/shulianghan/article/details/42254237 一. 相关工具下载 嵌入式开发工具包 : -- 下 ...

  4. Swift基础之OC文件调用Swift代码(在上次的基础上写的)

    前两天刚写过Swift调用OC,今天在原来的基础上,实现OC调用Swift. 首先,创建一个OneSwiftFile.swift文件,创建一个继承于NSObject的类(这个地方你可以自己选择继承的父 ...

  5. 【一天一道LeetCode】#109. Convert Sorted List to Binary Search Tree

    一天一道LeetCode 本系列文章已全部上传至我的github,地址:ZeeCoder's Github 欢迎大家关注我的新浪微博,我的新浪微博 欢迎转载,转载请注明出处 (一)题目 Given a ...

  6. Android学习之Animation(一)

    3.0以前,android支持两种动画模式,Tween Animation,Frame Animation,在android3.0中又引入了一个新的动画系统:Property Animation,这三 ...

  7. 最简单的基于FFmpeg的AVDevice例子(读取摄像头)

    =====================================================最简单的基于FFmpeg的AVDevice例子文章列表: 最简单的基于FFmpeg的AVDev ...

  8. pig代码格式上小注意

    1,%default file test.txt 中不要用引号,'' 和""都不行.'file'不会被识别 2,pig判断相等,用==,不是一个=.. 3,pig中只用单引号,不用 ...

  9. HttpClient 解决中文乱码

    public static String httpGet(String url) { try { HttpGet httpGet = new HttpGet(url); HttpClient clie ...

  10. 我眼中的Linux设备树(一 概述)

    一 概述设备树(Device tree)是一套用来描述硬件属相的规则.ARM Linux采用设备树机制源于2011年3月份Linux创始人Linus Torvalds发的一封邮件,在这封邮件中他提倡A ...