jQuery對ajax的支持
有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的支持