开源软件企业

ajax学习笔记-张魁

2017/4/7 16:48:32

什么是ajax?

ajax是浏览器用来发送请求获取数据,且与服务器交换数据并更新部分网页,不重新加载整个页面,获取数据分为post、get请求;

post需要将数据以一定的格式如json传递到接口文件,get以连接的形式传递给接口。


post:
$.ajax({
  type: 'POST',
  url: url,
  data: data,
  success: success,
  dataType: dataType});

get:
$.ajax({
  url: url,
  data: data,
  success: success,
  dataType: dataType});


GET 还是POST ?

GET比POST更简单,更快,大部分情况下都能用;
在下面的情况用POST:无法使用缓存(更新服务器上的文件或数据);
向服务器发送大量数据(POST没有数据量限制);
发送包含未知字符的用户输入时,POST比GET更稳定可靠.

//XMLHttpRequest对象 

//判断浏览器类型
var xmlhttp;
if(window.XMLHttpRequest){
  code for IE7+,Firefot,Chrome,Opera,Safari
  xmlhttp=new XMLHttpRequest();
}else{
  code for IE6,IE5
  xmlhttp=new ActiveXobject("Microsoft.XMLHTTP");
}


//XMLHttpRequest对象 用于和服务器交换数据
xmlhttp.open(method,url,async);//method:方法;URL:服务器上的文件地址;async:异步(true/false)
XMLHttpRequest 对象如果要用于 AJAX 的话,其 open() 方法的 async 参数必须设置为 true:
xmlhttp.send(string);

xmlhttp.open("GET","test1.txt",true);
xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");//http表单一样效果
xmlhttp.send();