在编写代码的过程当中,咱们会用到一些的需要局部刷新,并且须要数据传递的状况,咱们一般是有$.ajax() ,$.post(),$.get() 这三种方式。javascript
$.ajax()方法经过 HTTP 请求加载远程数据。php
最简单的状况下,$.ajax() 能够不带任何参数直接使用。html
注意:全部的选项均可以经过 $.ajaxSetup() 函数来全局设置。java
$.ajax({
type: "POST", //data 传送数据类型。post 传递
dataType: 'json', // 返回数据的数据类型json
url: "/site/abc", // yii 控制器/方法
cache: false,
data: {tel: tel}, //传送的数据
error:function(){
alert("数据传输错误");
},success: function (data) {
if(window.console){
console.log(data);
}
}
})
$.ajax 的属性:【详解】http://www.w3school.com.cn/jquery/ajax_ajax.aspjquery
dataTypeajax
类型:Stringjson
预期服务器返回的数据类型。若是不指定,jQuery 将自动根据 HTTP 包 MIME 信息来智能判断,好比 XML MIME 类型就被识别为 XML。在 1.4 中,JSON 就会生成一个 JavaScript 对象,而 script 则会执行这个脚本。随后服务器端返回的数据会根据这个值解析后,传递给回调函数。可用值:数组
public function(){ echo CJSON::encode($message); }
data缓存
类型:String服务器
发送到服务器的数据。将自动转换为请求字符串格式。GET 请求中将附加在 URL 后。查看 processData 选项说明以禁止此自动转换。必须为 Key/Value 格式。若是为数组,jQuery 将自动为不一样值对应同一个名称。如 {foo:["bar1", "bar2"]} 转换为 '&foo=bar1&foo=bar2'。
error
类型:Function
默认值: 自动判断 (xml 或 html)。请求失败时调用此函数。
有如下三个参数:XMLHttpRequest 对象、错误信息、(可选)捕获的异常对象。
若是发生了错误,错误信息(第二个参数)除了获得 null 以外,还多是 "timeout", "error", "notmodified" 和 "parsererror"。
这是一个 Ajax 事件。
$.post() 方法经过 HTTP POST 请求从服务器载入数据。【详细】http://www.w3school.com.cn/jquery/ajax_post.asp
语法:
jQuery.post(url,data,success(data, textStatus, jqXHR),dataType)
参数 | 描述 |
---|---|
url | 必需。规定把请求发送到哪一个 URL。 |
data | 可选。映射或字符串值。规定连同请求发送到服务器的数据。 |
success(data, textStatus, jqXHR) | 可选。请求成功时执行的回调函数。 |
dataType | 可选。规定预期的服务器响应的数据类型。 默认执行智能判断(xml、json、script 或 html)。 |
例子:
向页面 test.php 发送数据,并输出结果(HTML 或 XML,取决于所返回的内容):
1 $.post("test.php", { name: "John", time: "2pm" }, 2 function(data){ 3 alert("Data Loaded: " + data); 4 });
$.get() 【详细】http://www.w3school.com.cn/jquery/ajax_get.asp
例子:
1 $("button").click(function(){ 2 $.get("demo_ajax_load.txt", function(result){ 3 $("div").html(result); 4 }); 5 });
请求 test.php 网页,传送2个参数,忽略返回值:
$.get("test.php", { name: "John", time: "2pm" } );
显示 test.php 返回值(HTML 或 XML,取决于返回值):
$.get("test.php", function(data){ alert("Data Loaded: " + data); });
显示 test.cgi 返回值(HTML 或 XML,取决于返回值),添加一组请求参数:
$.get("test.cgi", { name: "John", time: "2pm" }, function(data){ alert("Data Loaded: " + data); });