在jquery和ajax搭配使用的時候用的比較多的應該是 $.get 和 $.post 了吧,用法很簡單url + 參數 + 回呼函數 + 傳回值類型。
在此之前先總結下 .load 和 $.get $.post 的區別:
.load :局部的效應,.load前面一半會有一個元素的選擇比如:$(‘#box’).load()針對的是id=box的元素;更適合靜態檔案的擷取。
$.get $.post :是全域的,通過回呼函數掌控全域;更適合和伺服器的動態互動。
下面看 $.get
代碼如下 |
複製代碼 |
$('#ajax').click(function () { $.get('test.php?domain=aitiblog', function (data) {//get方式請求伺服器資料 console.log(data); }, 'json');//如果返回的是純文字預設不寫最後一個參數就ok,如果想json返回那就賦最後一個參數為json }); |
以下是post和get很類似
代碼如下 |
複製代碼 |
$('#ajax').click(function () { $.post('test.php', {domain : 'www.aitiblog.com'}, function (data) {//post方式請求伺服器資料 console.log(data); }, 'json');//如果返回的是純文字預設不寫最後一個參數就ok,如果想json返回那就賦最後一個參數為json });
$.getScript是我技術上的一個盲點,以前沒有用過,這裡彌補一下 $('#ajax').click(function () {//點擊事件觸發之後 再從伺服器載入test.js,節省資源 $.getScript('test.js'); }); |
還有一個getJson這裡就不贅述了,和get差不多就是預設是json格式返回資料。
最後總結一下本人的經驗:建議使用post方式發送資料互動,理由有
1.post 在開發人員工具調試url看著方便,參數排列有規律易於查看。
2.post 發送資料沒有大小的限制,而get最大2KB。
3.post發送資料比如url地址,要比get很有優勢,get方式發送url會有錯誤,而且不美觀,post將資料放到了http實體中效果很好,不用各種轉義。