ajax的定义:

中文意思:异步JavaScript和XML。
指一种创建交互式网页应用的网页开发技术。
ajax的核心是XMLHttpRequest,在页面中由XMLHTTPRequest来发出Http请求和获得服务器的返回数据。

 
ajax优点:
传统的web请求是同步的方式,当表单提交后,把原先大量的html返回给客户端,增加了带宽。
而使用异步的方式可以取得客户端真正需要的数据,减少了网络带宽。并且可以真正不用刷新页面就可以取得服务器返回的数据。
 
ajax请求步骤:
•、先来创建XMLHttpRequest对象
–在IE、Firefox、safari和Opera中创建该对象的JavaScript代码为:
var xhr = new XMLHttpRequest();
–在IE5/6中代码为:
var xmlRequest = new ActiveXObject(“Microsoft.XMLHTTP”);
•二、为XMLHttpRequest对象设置请求参数
 1.设置参数:
     xhr.open("GET", "GetAreasByAjax.ashx?isAjax=1", true);
2.POST方式:
xhr.open("POST", "GetAreasByAjax.aspx", true);
在xhr.send之前添加设置回调函数代码:
xhr.onreadystatechange = watching;

xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");

3.设置浏览器不使用缓存
xhr.setRequestHeader("If-Modified-Since", "0");
•三、发送请求:(分别对应GET和POST)
    xhr.send(null);//GET方式
    xhr.send("isAjax=1&na=123");//POST方式
 
function watching() {
       if (xhr.readyState >= 4) {
           if (xhr.status == 200) {
               var msg = xhr.responseText; //服务器返回的字符串
           } else alert("服务器错误!" + ajaxH.status);
       }
}
 
readyState属性指出了XMLHttpRequest对象在发送/接收数据过程中所处的几个状态。XMLHttpRequest对象会经历5种不同的状态。
–0:未初始化。对象已经创建,但还未初始化,即还没调用open方法;
–1:已打开。对象已经创建并初始化,但还未调用send方法;
–2:已发送。已经调用send 方法,但该对象正在等待状态码和头的返回;
–3:正在接收。已经接收了部分数据,但还不能使用该对象的属性和方法,因为状态和响应头不完整;
–4:已加载。所有数据接收完毕
 
JSON定义:
•AJAX传递复杂数据如果自己进行格式定义的话会经历组装、解析的过程,因此AJAX中有一个事实上的数据传输标准JSon。Json(是一个标准,就像XML一样,Json规定了对象以什么样的格式保存为一个字符串)将复杂对象序列化为一个字符串,在浏览器端再将字符串反序列化为JavaScript可以读取的对象。看一下Json的格式。Json被几乎所有语言支持。
•C#中将.Net对象序列化为Json字符串的方法:JavaScriptSerializer().Serialize(p), JavaScriptSerializer在System.Web.Extensions.dll中,是.Net3.x 中新增的类,如果在.Net2.0中则需要用第三方的组件。
•JQuery AJAX得到的data是Json格式数据,用$.parseJSON(data)方法将JSon格式数据解析为JavaScript对象
•可以在post函数最后一个函数传递"json"则data就是反序列化以后的对象,免去了parseJSON。
 
 
 
 

AJAX一些基本知识点的更多相关文章

  1. phjp(ajax)作用知识点

    1.url: 要求为String类型的参数,(默认为当前页地址)发送请求的地址. 2.type: 要求为String类型的参数,请求方式(post或get)默认为get.注意其他http请求方法,例如 ...

  2. 【Ajax】PHP中ajax的基本知识点

    Ajax常用属性和方法: 属性: readyState: 0(开始创建ajax对象)1(调用open方法)2(调用send方法)3(正在返回数据)4(返回数据结束) responseText/resp ...

  3. AJAX核心--XMLHttpRequest五步法

    引言: AJAX=异步Javascript + XML,AJAX是一种用于创建高速动态网页的技术. 开门见山: 解读:AJAX使用XHTML和CSS为网页表示.DOM动态显示和交互,XML进行数据交换 ...

  4. 原生js实现ajax封装

    一.什么是ajax? 定义:Ajax(Asynchronous Java and XML的缩写)是一种异步请求数据的web开发技术,在不需要重新刷新页面的情况下,Ajax 通过异步请求加载后台数据,并 ...

  5. 【牛腩新闻公布系统】WebForms UnobtrusiveValidationMode 须要“jquery”ScriptResourceMapping。

    问题:       WebForms UnobtrusiveValidationMode须要"jquery"ScriptResourceMapping. 请加入一个名jquery ...

  6. 再学ajax--第一天

    今天写这个帖子就是是前几天在学ES6在学到Promise实现AJAX操作时,发现对ajax的一些知识点有些遗忘,所以就回头重新复习了一遍ajax,温故而知新. 主要有从4个方面去复习ajax,分析不透 ...

  7. 174道 JavaScript 面试题,助你查漏补缺

    最近在整理 JavaScript 的时候发现遇到了很多面试中常见的面试题,本部分主要是作者在 Github 等各大论坛收录的 JavaScript 相关知识和一些相关面试题时所做的笔记,分享这份总结给 ...

  8. AJAX、JQUERY 工作遇到的知识点

    泽浜商城关联公司知识点总结 1.关联公司的时候,根据用户ID,在数据库中用户表中关联公司ID,公司的列表通过查找公司表 ,然后抓取所有公司的名称和ID.关联的时候只需要根据公司name和ID进行关联. ...

  9. Ajax 知识点

    AJAX 即"Asynchronous Javascript And XML"(异步JavaScript和XML) Ajax 不是某种编程语言,只是一种在无需重新加载整个网页的情况 ...

随机推荐

  1. Objc中2维指针作为输出参数时由ARC及@autoreleasepool引发的血案

    先看下面一个例子 #import <UIKit/UIKit.h> #import "AppDelegate.h" @interface Something : NSOb ...

  2. Java组各任务工作流程

    1.周枫 A.提供基于SQL SERVER的数据库基本表结构创建脚本,基础数据脚本,按学科(产品)的数据脚本. 2.吴缤 A.提供给周茉的安装包用的项目文件,共三个digital,xylinkWeb和 ...

  3. C# 二进制字节流查找函数IndexOf

    C# 二进制字节流查找函数IndexOf /// <summary> /// 报告指定的 System.Byte[] 在此实例中的第一个匹配项的索引. /// </summary&g ...

  4. boost::token_compress_on

    对于场景:string s = "123456",用"3","4"切分,默认情况下(boost::token_compress_off),切 ...

  5. jquery 预览提交的表单

    预览表单,查看后确认提交或者返回重填 演示 XML/HTML Code <form class="mform" id="myform" method=&q ...

  6. BZOJ 1053: [HAOI2007]反素数ant dfs

    1053: [HAOI2007]反素数ant 题目连接: http://www.lydsy.com/JudgeOnline/problem.php?id=1053 Description 对于任何正整 ...

  7. VMWare虚拟机网络的三种工作模式

    VMWare提供了三种工作模式: 1.bridged(桥接模式) 在这种模式下,VMWare虚拟出来的操作系统就像是局域网中的一台独立的主机,它可以访问网内任何一台机器.在桥接模式下,需要手工为虚拟系 ...

  8. TP复习12

    四.特殊标签 1.比较标签 eq或者 equal 等于 neq 或者notequal 不等于 gt 大于 egt 大于等于 lt 小于 elt 小于等于 heq 恒等于 nheq 不恒等于 2.范围标 ...

  9. ios开发——实用技术总结Swift篇&swift常用开发技术总结

    swift常用开发技术总结 懒加载:属性,数组(字典),控件... 数组(懒加载): lazy var shops:Array<Dictionary<String, String>& ...

  10. NULL, '\0',0 '0'的区别

    如题,在程序中经常遇到NULL,和'\0',常常疑惑它们是什么关系,其实它们的值是一样的,只不过表现的形式不一样: 1.NULL; NULL 即空指针,在C和C++中的形式不一样,msdn上有如下的内 ...