$.ajax、 $.get、 $.getJSON 簡單用法

  1. $.ajax
    jQuery.ajax( [settings ] )
$.ajax({
    url: 'xxx.php',
    method: 'GET',
    data: {
        name: 'Byron',
        age: 24,
        sex: 'Male'
    }
}).done(function(result){

    console.log(result);

}).fail(function(jqXHR, textStatus){

    consloe.log(textStatus);

});

這樣我們就發(fā)送了一個get請求

方法提供了幾個常用的setting

  1. async:默認(rèn)設(shè)置下,所有請求均為異步請求(也就是說這是默認(rèn)設(shè)置為 true )。如果需要發(fā)送同步請求,請將此選項(xiàng)設(shè)置為 false

  2. beforeSend:請求發(fā)送前的回調(diào)函數(shù),用來修改請求發(fā)送前jqXHR對象,此功能用來設(shè)置自定義 HTTP 頭信息,等等。該jqXHR和設(shè)置對象作為參數(shù)傳遞

  3. cache:如果設(shè)置為 false ,瀏覽器將不緩存此頁面。注意: 設(shè)置cache為 false將在 HEAD和GET請求中正常工作。它的工作原理是在GET請求參數(shù)中附加"_={timestamp}"

  4. context:這個對象用于設(shè)置Ajax相關(guān)回調(diào)函數(shù)的上下文。 默認(rèn)情況下,這個上下文是一個ajax請求使用的參數(shù)設(shè)置對象

  5. data:發(fā)送到服務(wù)器的數(shù)據(jù)。將自動轉(zhuǎn)換為請求字符串格式。GET 請求中將附加在 URL 后面,POST請求作為表單數(shù)據(jù)

  6. headers:一個額外的{鍵:值}對映射到請求一起發(fā)送。此設(shè)置會在beforeSend 函數(shù)調(diào)用之前被設(shè)置 ;因此,請求頭中的設(shè)置值,會被beforeSend 函數(shù)內(nèi)的設(shè)置覆蓋

  7. method:HTTP 請求方法 (比如:"POST", "GET ", "PUT",1.9之前使用“type”)

了解了這些參數(shù),使用jQuery處理ajax請求就簡單了

$.ajax({
  method: "POST",
  url: "some.php",
  data: { name: "John", location: "Boston" }
}).done(function( msg ) {
  alert( "Data Saved: " + msg );
});

除了這個方法,jQuery還提供了一些額外的方法

  1. $.get
    jQuery.get( [settings] ) / jQuery.post( [settings ] )
    這兩個方法專門用來處理get和post請求
$.ajax({
  url: url,
  data: data,
  success: success,
  dataType: dataType
});

$.ajax({
  type: "POST",
  url: url,
  data: data,
  success: success,
  dataType: dataType
});

簡單示例

$.get('/ajax.json').done(function(ret){
        console.log(ret)
})

顯示結(jié)果:


image
  1. $.getJSON
    jQuery.getJSON( url [, data ] [, success(data, textStatus, jqXHR) ] )
    使用一個HTTP GET請求從服務(wù)器加載JSON編碼的數(shù)據(jù),這是一個Ajax函數(shù)的縮寫,這相當(dāng)于:
$.ajax({
  dataType: "json",
  url: url,
  data: data,
  success: success
});

示例:

<script type="text/javascript">
        $(document).ready(function(){
          $("button").click(function(){
            $.getJSON("/ajax.json",function(result){
              $.each(result, function(i, field){
                $("p").append(field + " ");
              });
            });
          });
        });
        </script>
        </head>
        
        <body>
        
        <button>獲得 JSON 數(shù)據(jù)</button>
        <p></p>
</body>
image
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容