AJAX不是一种新的编程语言,而是一种用于创建更好更快以及交互性更强的Web应用程序的技术。
使用Javascript向服务器提出请求并处理响应而不阻塞用户!核心对象XMLHTTPRequest。通过这个对象,您的 JavaScript 可在不重载页面的情况与Web服务器交换数据。
AJAX 在浏览器与 Web 服务器之间使用异步数据传输(HTTP 请求),这样就可使网页从服务器请求少量的信息,而不是整个页面。
AJAX 可使因特网应用程序更小、更快,更友好。
AJAX 是一种独立于 Web 服务器软件的浏览器技术。 AJAX 基于下列 Web 标准:
JavaScript
XMLHTMLCSS在 AJAX 中使用的 Web 标准已被良好定义,并被所有的主流浏览器支持。AJAX 应用程序独立于浏览器和平台。
Web 应用程序较桌面应用程序有诸多优势;它们能够涉及广大的用户,它们更易安装及维护,也更易开发。
不过,因特网应用程序并不像传统的桌面应用程序那样完善且友好。
通过 AJAX,因特网应用程序可以变得更完善,更友好。
工作原理:
基本结构及使用:
$.ajax({
url: "Ashxs/NationAll.ashx",使用ajax需要添加一个以ashx结尾的一般处理程序,服务端处理,直接返回给js。不用刷新页面,url:"",里面填写一般处理程序的路径
data: {},用来存放要提交到服务端处理的数据,如果没有,就不填
type: "post",向服务器发送请求
dataType: "json",服务端将执行完的数据返回给js,json返回的数据格式{"自定义名称":"值","":""},如果返回一堆对象数据就是[{"":""},{":""},{}....]
success: function (na) {返回的json数据到自定义na中,因为返回的是一组数据,以键值对的形式,na可以直接点出每一条的键获取到值
如果json返回的是一堆,就遍历它,
for(i in na)
{
na[i].自定义的名称(这样就可以获得这个键值),na[i].xxxxx
返回的数据用作什么地方,就以所需的形式接收一下,一次循环将所有数据一条一条接收
}
}//success
});//ajax
如果将返回的数据用于<select></select>下拉列表,遍历数据一条一条添加时需要加get(0),也就是$(id).get(0).add(xxx);
一般处理程序:
使用ajax不用通过后台处理,通过一般处理程序,可以将js直接到服务端进行处理,数据库操作,并将执行完的数据直接返回到js,不需要页面刷新
一般处理程序返回的是json对象,实际就是在处理程序页面拼接json字符串,格式:{"":"",....}一组数据
当需要返回一堆数据时,也就是多个组,需要在外面加英文格式的中括号,里面是每一组数据,逗号隔开[{},{}....]
拼接时为了更加清晰,定义一个变量,将所有json拼接在变量中,返回出去,定义时可将中括号分别单独拼接在变量中
例:string str="["; str+={拼接的每一组键值对},{}... 最后完成后再将另一半中括号拼接上 str+="]";
在一般处理程序中引用的using并不多,使用时需要先引用,如集合,Linq等
using System.Collections;//集合引用
using System.Collections.Generic;//泛型集合引用
using System.Linq;
using System.Data.Linq;