定义和用法
ajax() 方法通过 HTTP 请求加载远程数据。
该方法是 jQuery 底层 AJAX 实现。简单易用的高层实现见 $.get, $.post 等。$.ajax() 返回其创建的 XMLHttpRequest 对象。大多数情况下你无需直接操作该函数,除非你需要操作不常用的选项,以获得更多的灵活性。
比如:
$.ajax({
type:"POST"
,cache:false
,async:false
,url:'http://www.xxx.com/save'
,data:$(formid).serialize()
,dataType:'text'
, success: function(msg){
alert(msg);
}
});
/*从上面可看出dataType为纯文本格式,也就是说返回的数据将以文本格式处理。如果你要是想返回json格式,那就把dataType设置为json。下以thinkPHP5.0.24举例说明:*/
public function index(){
$result= array("code"=>0,"msg"=>"","src"=>"");
return json($result);
}
//假如dataType为text,那么获取返回数据后应该用eval来处理才能为真正的json格式且获取到值,如下:
var res=eval('('+msg+')'); alert(res.code+res.msg+res.src);
//假如dataType为json,那么获取返回数据直接为json格式且获取到值,如下:
alert(msg.code+msg.msg+msg.src);
//注意:如不设置dataType值,那么jQuery 将自动根据 HTTP 包 MIME 信息来智能判断,比如dataType:json和不指定值获取json是一样的,也是直接msg.code、msg.msg、msg.src即可获取json值。
dateType后接受的参数
参数类型:string
预期服务器返回的数据类型。如果不指定,jQuery 将自动根据 HTTP 包 MIME 信息来智能判断。
比如 XML MIME 类型就被识别为 XML。在 1.4 中,JSON 就会生成一个 JavaScript 对象,而 script 则会执行这个脚本。随后服务器端返回的数据会根据这个值解析后,传递给回调 函数。
可用值:
1、"xml": 返回 XML 文档,可用 jQuery 处理。
2、"html": 返回纯文本 HTML 信息;包含的 script 标签会在插入 dom 时执行。
3、"script": 返回纯文本 JavaScript 代码。不会自动缓存结果。除非设置了 "cache" 参数。注意:在远程请求时(不在同一个域下),所有 POST 请求都将转为 GET 请求。(因为将使用 DOM 的 script标签来加载)
4、"json": 返回 JSON 数据 。
5、"jsonp": JSONP 格式。使用 JSONP 形式调用函数时,如 "myurl?callback=?" jQuery 将自动替换 ? 为正确的函数名,以执行回调函数。
6、"text": 返回纯文本字符串
7、"local":返回本地数据(即第一次初始化时只加载本地代码显示的样式,而不加载任何后台返回的数据)