有load,get,post和ajax四个方法都可以,其中后三个直接使用$.xx调用
使用方法大致相同,这里只介绍get和post方法
--------------------------------------------------------------------------
JQuery API
jQuery.get(url, [data], [callback], [type])
jQuery.post(url, [data], [callback], [type])
jQuery.ajax(url,[settings])
----------------------------------------------------------------------------
函数的参数信息:
url,[data],[callback],[type]String,Map,Function,StringV1.0
url:待载入页面的URL地址
data:待发送 Key/value 参数。
callback:载入成功时回调函数。
type:返回内容格式,xml, html, script, json, text, _default。
----------------------------------------------------------------------------
回调函数的参数:可选
backData:返回值,可能是对象也可能是一个字符串或者js串
默认情况由服务器返回值决定类型,但也可以根据type参数来决定格式
--------------------------------------------------------------------------
推荐使用规则:
如果只是获取数据而不传递数据,那么使用get
①:jQuery.get(url) 根据实际需求对待返回的对象
②:jQuery.get(url, function() {
...........
}) 根据实际需求对待返回的对象
如果需要传递数据就用post方式
①:jQuery.post(url, data) 可以上传头像使用
②:jQuery.post(url, data, function(backData) {
..................backData类型不确定
})
③:jQuery.post(url, data, function(backData) {
..................强制指定返回值为文本类型,但是如果返回的是json串则无法通过js操控
解决方法:把文本类型转换成js对象,使用eval函数
var newData = eval( "(" + backData + ")" );
}, “text”)
一个小例子:
强制使用文本形式获取json串
1 <script type="text/javascript"> 2 ????????????3 ???????????var url = "${pageContext.request.contextPath}/test"; 4 ???????????var params = {"test": "哈哈哈"}; 5 ???????????$.post(url, params, function(backData) { 6 ????????????7 ???????????????alert(backData); //强制获取文本类型 8 ????????????????9 ???????????????var newData = eval("(" + backData + ")"); //转换成js对象10 ???????????????11 ???????????????var res = newData.sList; ???????//通过js操纵json对象12 ???????????????for (var i = 0; i < res.length; i++) {13 ???????????????????alert(res[i]);14 ???????????????}15 ???????????16 ???????????}, "text");17 ???????????18 </script>
默认方式,如果是字符串就是text类型,如果json串就是js对象
<script type="text/javascript"> ?????????????????????var url = "${pageContext.request.contextPath}/test"; ??????????var params = {"test": "哈哈哈"}; ??????????$.post(url, params, function(backData) { ?????????????????????????alert(backData); //这里是输出object,即js对象 ?????????????????????????????for (var i = 0; i < res.length; i++) { ??????????????????alert(res[i]); ??????????????} ?????????????????????}); ??????????</script>
jQuery对ajax的支持
原文地址:http://www.cnblogs.com/webyyq/p/7508090.html