jQuery中的$.getJSON、$.ajax、$.get、$.post的區別


jQuery中的$.getJSON、$.ajax、$.get、$.post的區別

使用見Flask(python)異步(ajax)返回json格式數據

.$.getJSON

  $.getJSON()是專門為ajax獲取json數據而設置的,並且支持跨域調用,其語法的格式為:

getJSON(url,[data],[callback])

  • url:string類型, 發送請求地址
  • data :可選參數, 待發送 Key/value 參數 ,同get,post類型的data
  • callback :可選參數,載入成功時回調函數,同get,post類型的callback
$.getJSON("{{ url_for('form_data') }}",params, function (result) {
                $("#myDiv").append("hello world1"); console.log(obj.username + "<br>"); });

.$.ajax

$.ajax 是 jQuery 底層 AJAX 實現,$.ajax是一種通用的底層封裝,$.ajax()請求數據之后,則需要使用回調函數,有beforeSend、error、dataFilter、success、complete等。

 格式:

$.ajax({ 
   url:”路徑”, 
   type:”post/get”, 
 datatype:”json”, //成功的回調函數 success:function(data){ alert(“回調函數成功了”); }, //失敗的回調函數 error:function(){ alert(“服務器請求失敗”); }, //發送請求前調用,可以放一些“正在加載”之類的話 beforeSend:function(){ alert(“正在加載”); } }); 

例如:

        $.ajax({
            "url": "{{ url_for('form_data') }}", "type": "POST", "data": params, "success": function (obj) { $("#myDiv").append("hello world") console.log(obj.username + "<br>") }, "error": function (obj) { console.log(obj) }, "dataType": "json", "async": true });

 

.$.get

$.get是簡單易用的高層實現,我們使用$.get方法,jQuery會自動封裝調用底層的$.ajax

$.get 只處理簡單的 GET 請求功能以取代復雜 $.ajax,請求成功時可調用回調函數。不支持出錯時執行函數,否則必須使用$.ajax

 $.get( url ,[data] ,[callback] )

  • url:string類型,ajax請求的地址。
  • data:可選參數,object類型,發送至服務器的key/value數據會作為QueryString附加到請求URL中。
  • callback:可選參數,function類型,當ajax返回成功時自動調用該函數。

例如:

 $.get("{{ url_for('form_data') }}", params, function (obj) {
            $("#myDiv").append("hello world") console.log(obj.username + "<br>"); }, "json");

 

.$.post

 $.post是簡單易用的高層實現,我們使用$.post方法,jQuery會自動封裝調用底層的$.ajax

 $.post 只處理 post請求功能以取代復雜 $.ajax 。請求成功時可調用回調函數。不支持出錯時執行函數,否則必須使用$.ajax

$.post(url,[data],[callback],[type])

這個方法和$.get()用法差不多,唯獨多了一個type參數,那么這里就只介紹type參數吧,其他的參考上面$.get()的。

  • type:type為請求的數據類型,可以是html,xml,json等類型,如果我們設置這個參數為:json,那么返回的格式則是json格式的,如果沒有設置,就和.get()返回的格式一樣,都是字符串的。

例如:

$.post("{{ url_for('form_data') }}", params, function (obj) {
            $("#myDiv").append(obj.username + "<br>") console.log(obj); }, "json");

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM