首页 > 代码库 > AJAX

AJAX

关于响应交互始终很模糊。

ajax是什么 ?

① ajax(asynchronouse javascript and xml) 异步的javascript 和 xml

② 是7种技术的综合,它包含了七个技术( javascript xml xstl xhtml dom xmlhttprequest , css),  ajax  是一个粘合剂,

③ ajax是一个与服务端语言无关的技术即可以使用在(php/java ee/.net网站/ asp)

④ ajax可以给客户端返回三种格式数据(文本格式 ,xml , json格式)

⑤ 无刷新数据交换技术有以下: flash, java applet, 框架, iframe,  ajax)

使用AJAX的步骤:

 

① 创建一个XMLHttpRequest对象

 

② 创建url,data,通过 xmlHttpRequest.send()

 

③ 服务器端接收 ajax的请求,做相应处理(操作数据库),然后返回结果(echo 语句)

 

④ 客户端通过xmlHttpRequest的属性 reponseText , responseXML 取的数据,然后就完成局部刷新当前页面任务

 

 ajaxpost方式请求

//这个是要发送的数据

var data="http://www.mamicode.com/username="+$(‘username‘).value;

//打开请求.

myXmlHttpRequest.open("post",url,true);

//还有一句话,这句话必须.

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

//指定回调函数.chuli是函数名

myXmlHttpRequest.onreadystatechange=chuli;

//真的发送请求,如果是get请求则填入 null即可

//如果是post请求,则填入实际的数据

myXmlHttpRequest.send(data);

registerPro.php关键码 :

$username=$_POST[‘username‘];

 使用get方式发出请求,如果提交的用户名不变化,浏览器将不会真的发请求,而是缓存取数据., url 

解决方法 

  1. url 后带一个总是变化的参数,比如当前时间

var url="/ajax/registerProcess.php?mytime="+new  Date()+"&username="+$("username").value;

  1. 在服务器回送结果时,禁用缓存.

//这里两句话很重要,第一讲话告诉浏览器返回的数据是xml格式

header("Content-Type: text/xml;charset=utf-8");

//告诉浏览器不要缓存数据

header("Cache-Control: no-cache");

 

 

AJAX