Ajax

基于jQuery的Ajax使用

常用方法

1
2
3
4
5
6
$.ajax() //最底层ajax请求,完成功能最全
$.load() $.get() $.post() //常用
$.getJSON() $.getScript() //高级开发
  $.getJSON() //可以完成js“跨域”请求
    //域名:域名+端口+项目,js默认不能跨域请求。
  $.getScript() //动态加载js文件。之前使用<script src="">加载页面时,一并加载js文件

$.load()

格式:$.load(url, [data], [callback])

  1. url 请求路径
  2. data 请求参数
  3. callback 回调函数
    如果没有请求参数,发送的GET请求,如果有请求参数,发送的POST请求,请求没有中文乱码
    回调函数的参数(3个,分别为响应数据/响应状态/ajax对象)
    //data:响应数据//  load()永远获得字符串,如果需要使用,必须手动转换json对象。
1
2
3
4
5
$(this).load(url,params,function(data){
//转换json对象
var jsonData = eval("("+data+")");
alert(jsonData.message);
});

$.get()

格式:$.get(url, [data], [callback], [type])  //全局函数,发送get请求

  1. type  返回内容格式:xml, html, script, json, text, _default
    GET请求不适合发送中文数据,存放请求的中文乱码,必须手动解码:new String(username.getBytes(“ISO-8859-1”) ,”UTF-8”)
    响应数据若为application/json;charset=UTF-8,jQuery自动将数据转换json对象
    若为text/html;charset=UTF-8 ,回调函数获得字符串数据,需要手动转换
    type设置”json”,jQuery将字符串 转换成 json对象
1
2
3
$.get(url, params, function(data) {
alert(data.message);
}, "json");

$.post()

格式:$.post(url, [data], [callback], [type])  //全局函数,发送post请求

1
2
3
$.post(url, params, function(data) {
alert(data.message);
}, "json");

$.ajax()

格式:$.ajax([settings])
参数settings:设置所有的参数

  1. url:发送请求的地址
  2. data:发送到服务器的数据,请求参数
  3. type:请求方式 (“POST” 或 “GET”),
  4. success:成功的回调函数,success(data, textStatus, jqXHR)
  5. error:请求失败时调用此函数
  6. dataType:预期服务器返回的数据类型
        dataType:xml/html/script/json/jsonp/text
1
2
3
4
5
6
7
8
9
10
11
12
$.ajax({
"url" : url,
"data" : params,
"type" : "POST",
"success" : function(data) {
alert(data.message);
},
"error" : function() {
alert("服务器繁忙,请稍后重试");
},
"dataType" : "json"
});