在这里对ajax进行一个简单的复习,只针对我常用的一些知识点。
1.首先看一下一个简单的ajax请求格式:
$.ajax({
url:"",
type:'',
data:'',
dataType:'',
success:function(re){
//to do
},
error:function(){
//to do
},
cache:'',
timeout:''
})
各参数解释如下:
url:要求为String类型的参数,(默认为当前页地址)发送请求的地址。
type:要求为String类型的参数,请求方式(post或get)默认为get。注意其他http请求方法,例如put和delete也可以使用,但仅部分浏览器支持。
data:要求为Object或String类型的参数,发送到服务器的数据。如果已经不是字符串,将自动转换为字符串格式。get请求中将附加在url后。防止这种自动转换,可以查看 processData选项。对象必须为key/value格式,例如{foo1:"bar1",foo2:"bar2"}转换为&foo1=bar1&foo2=bar2。如果是数组,JQuery将自动为不同值对应同一个名称。例如{foo:["bar1","bar2"]}转换为&foo=bar1&foo=bar2。
dataType:要求为String类型的参数,预期服务器返回的数据类型。如果不指定,JQuery将自动根据http包mime信息返回responseXML或responseText,并作为回调函数参数传递。可用的类型如下:
xml:返回XML文档,可用JQuery处理。
html:返回纯文本HTML信息;包含的script标签会在插入DOM时执行。
script:返回纯文本JavaScript代码。不会自动缓存结果。除非设置了cache参数。注意在远程请求时(不在同一个域下),所有post请求都将转为get请求。
json:返回JSON数据。
jsonp:JSONP格式。使用SONP形式调用函数时,例如myurl?callback=?,JQuery将自动替换后一个“?”为正确的函数名,以执行回调函数。
text:返回纯文本字符串。
success:要求为Function类型的参数,请求成功后调用的回调函数,有两个参数。
(1)由服务器返回,并根据dataType参数进行处理后的数据。
(2)描述状态的字符串。
function(data, textStatus){
//data可能是xmlDoc、jsonObj、html、text等等
this; //调用本次ajax请求时传递的options参数
}
error:要求为Function类型的参数,请求失败时被调用的函数。该函数有3个参数,即XMLHttpRequest对象、错误信息、捕获的错误对象(可选)。ajax事件函数如下:
function(XMLHttpRequest, textStatus, errorThrown){
//通常情况下textStatus和errorThrown只有其中一个包含信息
this; //调用本次ajax请求时传递的options参数
}
cache:是缓存
timeout:要求为Number类型的参数,设置请求超时时间(毫秒)。此设置将覆盖$.ajaxSetup()方法的全局设置。
2.在来写两个简写的:
$.get(url,[data],[callback])
$.post(url,[data],[callback],[type])
附带一个网址:http://www.cnblogs.com/liuling/archive/2013/02/07/sdafsd.html //(可以参考)
注意:在php中,进行数据请求的时候,不要随意打印输出值,不然会对返回结果又影响。
json_decode:对 JSON 格式的字符串进行解码
//该函数只能接受 UTF-8 编码的数据
string json_decode(string $json
[, bool $assoc
= false]);//当该参数为 TRUE
时,将返回 array 而非 object 。
json_encode:对变量进行 JSON 编码
//该函数只能接受 UTF-8 编码的数据
string json_encode ( mixed $value
[, int $options
= 0 [, int $depth
= 512 ]] )//成功则返回 JSON 编码的 string 或者在失败时返回 FALSE
。
待编码的 value
,除了resource 类型之外,可以为任何数据类型