目錄
' comment['使用者名稱'] ':
首頁 web前端 js教程 jQuery中Ajax的get、post等方法詳解_jquery

jQuery中Ajax的get、post等方法詳解_jquery

May 16, 2016 pm 04:19 PM
ajax get jquery post

load()方法通常用來從Web伺服器上取得靜態的資料文件,然而這並不能體現ajax的全部價值。

在專案中,如果需要傳遞一些參數給伺服器中的頁面,那麼可以使用$.get()或$.post()方法(或是$.ajax()方法)

$.get()方法使用GET方式來進行非同步請求。結構為:$.get(url [, data] [, callback] [, 型])

$.get()方法參數解釋如下:

參數名稱 類型 說明
url String 請求的HTML頁的URL位址
data(可選) Object 發送至伺服器的key/value資料會作為QueryString附加到請求URL中
callback(可選) Function 載入成功時回呼函數(只有當Response的回傳狀態是success才呼叫該方法)自動將請求結果和狀態傳遞給該方法
type(可選) String 伺服器端回傳內容的格式,包括xml、html、script、json、text和_default

$.post()方法。

$.post()和$.get()方法的結構和使用方式相同,不過它們之間仍然有以下區別:

 GET請求會將參數跟在URL後面傳遞,而POST請求則是作為HTTP訊息的實體內容傳送給Web伺服器。
 GET方式對傳輸的資料有大小限制(通常不大於2KB),而使用POST方式傳遞的資料量則比GET方式大得多(理論上不受限制)
 GET方式請求的資料會被瀏覽器快取起來,因此其他人就可以從瀏覽器的歷史記錄中讀取到這些數據,例如帳號和密碼等。在某種情況下,GET方式會帶來嚴重的安全性問題,而POST方式相對來說可以避免這些問題
 GET方式和POST方式傳遞的資料在伺服器端的取得也不相同。
 

$.getScript():jQuery提供了此方法來直接載入js文件,與載入一個HTML片段一樣簡單方便,並且不需要對JavaScript檔案進行處理,JavaScript檔案會自動執行。

jQuery程式碼如下:

複製程式碼 程式碼如下:

$(function () {
        $("#send").click(function () {
            $.getScript("test.js");
        });
})

與其他ajax方法一樣,$.getScript()方法也有回呼函數,它會在JavaScript檔案載入成功後執行。

例如:想載入jQuery官方顏色動畫外掛(jquery.color.js),成功後給元素綁定顏色變化動畫:

複製程式碼 程式碼如下:




   
   
   
   








 

$.getJson():此方法用於載入JSON文件,用法與$.getScript()相同。

複製程式碼 程式碼如下:




   
   
   
        * { 邊距:0;填入:0;}
        正文 { font-size:12px;}
        .comment { 邊距上方:10px;內邊距:10px;邊框:1px 實心#ccc;背景:#DDD;}
        .comment h6 { 字體粗細:700;字體大小:14px;}
        .para { 頂部邊距:5px;文字縮排:2em;背景:#DDD;}
    樣式>
    標題>
頭>




   


已評論:



身體>

    $(函數 () {
        $('#send').click(function() {
            $.getJSON('test.json', function(data) {
                $('#resText').empty();
                var html = '';
                $.each( 資料 , 函數(commentIndex, 註解) {
html = '
' comment['使用者名稱'] ':

' comment['content'] '

div>';
                })
                $('#resText').html(html);
            })
        })
    })
腳本>

test.json檔為:

複製程式碼程式碼如下:

[
  {
    "使用者名稱": "張三",
    「內容」:「沙發。」
  },
  {
    "使用者名稱": "李四",
    "content": "板凳。"
  },
  {
    "使用者名稱": "王五",
    「內容」:「地板。」
  }
]

 
使用JSONP形式的回呼函數來載入其他網站的JSON資料。例如:

複製程式碼程式碼如下:




   
   
   
        * { 邊距:0;填入:0;}
        正文 { font-size:12px;}
        .para {
            寬度:100px;
            高度:100px;
            邊距:5px;
            邊框:0;
        }
    樣式>
    標題>
頭>


   




身體>

    $(函數 () {
        $('#send').click(function() {
            $.getJSON("https://api.flickr.com/services/feeds/photos_public.gne?tags=car&tagmode=any&format=json&jsoncallback                     函數(資料){
                        $.each(data.items, function( i,item ){
                            $("jQuery中Ajax的get、post等方法詳解_jquery ").attr("src", item.F.m).appem.                             if ( i == 3 ) {
                                或回復錯誤;
                            }
                        });
                    }
            );
        })
    })
    /**
     *  JSONP(JSON with Padding)是一個非官方的協議,它允許在伺服器端整合Script tags返回至客戶端,透過JavaScript Callback的形式實現跨網域存取
     *  上述的url位址並不能請求到數據,且僅用作說明。
     **/
腳本>


注意:

jQuery將自動把URL裡的回呼函數,例如"url?callback=?"中的後一個」?「替換為正確的函數名,以執行回呼函數。
JSONP(JSON with Padding)是一個非官方的協議,它允許在伺服器端整合Script tags返回到客戶端,透過JavaScript Callback的形式實現跨域存取。由於JSON只是一種含有簡單括號結構的純文本,因此許多通道都可以交換JSON訊息。而由於同源策略的限制,開發人員不能在於外部伺服器進行通訊的時候使用XMLHttpRequest。而JSONP是一種可以繞過同源策略的方法,即透過使用JSON和<script>標記相結合的方法,從伺服器端直接傳回可執行的JavaScript函數呼叫或JavaScript物件。目前JSONP已成為各大公司的Web應用程式跨域首選。 <br /> $.ajax()方法時jQuery最底層的ajax實作。它的結構為:</script>

$.ajax(options).該方法只有一個參數,但在這個物件裡包含了$.ajax()方法所需要的請求設定以及回調函數等信息,參數以key/value的形式存在,所有參數都是可選的,

常用參數列表為:

 

參數名稱 類型 說明
url String (預設為目前頁位址)發送請求的位址
type String 請求方式(post或get)預設為get。注意其他HTTP請求方法,如PUT何DELETE也可以使用,但僅部分瀏覽器支援
timeout Number 設定請求超時時間(毫秒)。此設定將覆蓋$.ajaxSetup()方法的全域設定
data Object或String 傳送到伺服器的資料。如果不是字串,將自動轉換為字串格式。 GET請求中將附加在url後。防止這種自動轉換,可以查看processData選項。物件必須為key/value格式,例如{foo1:"bar1", foo2:"bar2"}轉換為&foo1=bar1&foo2=bar2。如果是數組,jQuery將自動為不同值對應同一個名稱。例如{foo:["bar1", "bar2"]}轉換為&foo=bar1&foo=bar2
dataType String

預期伺服器傳回的資料類型。如果不指定,jQuery將自動根據HTTP包MIME資訊傳回responseXML或responseText,並作為回呼函數參數傳遞。可用的類型如下。

xml:返回XML文檔,可用jQuery處理

html:傳回純文字HTML資訊;包含的script標籤會在插入DOM時執行

script:傳回純文字JavaScript程式碼。不會自動快取結果。除非設定了cache參數。注意在遠端請求時(不在同一個網域下),所有POST請求都會轉為GET請求。

json:返回JSON資料

jsonp:JSONP格式。使用JSONP形式呼叫函數時,例如myurl?callback=?,jQuery將自動替換後一個”?“為正確的函數名,以執行回調函數。

text:傳回純文字字串

beforeSend Function

傳送請求前可以修改XMLHttpRequest物件的函數,例如新增自訂HTTP頭。在beforeSend中如果回傳false可以取消本次Ajax請求。 XMLHttpRequest物件是唯一的參數。

function(XMLHttpRequest) {

  this;//呼叫本次Ajax請求時傳遞的options參數

}

complete Function

請求完成後呼叫的回呼函數(請求成功或失敗時均呼叫)

參數:XMLHttpRequest物件和一個描述成功請求類型的字串。

function(XMLHttpRequest, textStatue){

  this;//呼叫本次Ajax請求時傳遞的options參數

}

success Function

請求成功後呼叫的回呼函數,有兩個參數。

(1)由伺服器傳回,並根據dataType參數進行處理後的資料

(2)描述狀態的字串

function(data, textStatus) {

  //data可能是xmlDoc、jsonObj、html、text等

  this;//呼叫本次Ajax請求時傳遞的options參數

}

error Function

請求失敗時被呼叫的函數。此函數有3個參數,分別是XMLHttpRequest物件、錯誤訊息、捕獲的錯誤物件(可選)。

Ajax事件函數如下:

function(XMLHttpRequest, textStatus, errorThrown) {

  //通常情況下textStatus和errorThrown只有其中一個包含資訊

  this;//呼叫本次Ajax請求時傳遞的options參數

}

global Boolean 預設為true。表示是否觸發全域Ajax事件。設定為false將不會觸發全域Ajax事件,AjaxStart或AjaxStop可用來控制各種Ajax事件
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

PHP 與 Ajax:建立一個自動完成建議引擎 PHP 與 Ajax:建立一個自動完成建議引擎 Jun 02, 2024 pm 08:39 PM

使用PHP和Ajax建置自動完成建議引擎:伺服器端腳本:處理Ajax請求並傳回建議(autocomplete.php)。客戶端腳本:發送Ajax請求並顯示建議(autocomplete.js)。實戰案例:在HTML頁面中包含腳本並指定search-input元素識別碼。

jQuery中如何使用PUT請求方式? jQuery中如何使用PUT請求方式? Feb 28, 2024 pm 03:12 PM

jQuery中如何使用PUT請求方式?在jQuery中,發送PUT請求的方法與發送其他類型的請求類似,但需要注意一些細節和參數設定。 PUT請求通常用於更新資源,例如更新資料庫中的資料或更新伺服器上的檔案。以下是在jQuery中使用PUT請求方式的具體程式碼範例。首先,確保引入了jQuery庫文件,然後可以透過以下方式發送PUT請求:$.ajax({u

如何使用Ajax從PHP方法取得變數? 如何使用Ajax從PHP方法取得變數? Mar 09, 2024 pm 05:36 PM

使用Ajax從PHP方法取得變數是Web開發中常見的場景,透過Ajax可以實作頁面無需刷新即可動態取得資料。在本文中,將介紹如何使用Ajax從PHP方法中取得變量,並提供具體的程式碼範例。首先,我們需要寫一個PHP檔案來處理Ajax請求,並傳回所需的變數。下面是一個簡單的PHP檔案getData.php的範例程式碼:

jQuery小技巧:快速修改頁面所有a標籤的文本 jQuery小技巧:快速修改頁面所有a標籤的文本 Feb 28, 2024 pm 09:06 PM

標題:jQuery小技巧:快速修改頁面所有a標籤的文字在網頁開發中,我們經常需要對頁面中的元素進行修改和操作。使用jQuery時,有時候需要一次修改頁面中所有a標籤的文字內容,這樣可以節省時間和精力。以下將介紹如何使用jQuery快速修改頁面所有a標籤的文本,同時給出具體的程式碼範例。首先,我們需要引入jQuery庫文件,確保在頁面中引入了以下程式碼:&lt

使用jQuery修改所有a標籤的文字內容 使用jQuery修改所有a標籤的文字內容 Feb 28, 2024 pm 05:42 PM

標題:使用jQuery修改所有a標籤的文字內容jQuery是一款受歡迎的JavaScript庫,被廣泛用於處理DOM操作。在網頁開發中,經常會遇到需要修改頁面上連結標籤(a標籤)的文字內容的需求。本文將介紹如何使用jQuery來實現這個目標,並提供具體的程式碼範例。首先,我們需要在頁面中引入jQuery庫。在HTML檔案中加入以下程式碼:

PHP跳轉頁面並攜帶POST資料的實作方法 PHP跳轉頁面並攜帶POST資料的實作方法 Mar 22, 2024 am 10:42 AM

PHP是一種廣泛應用於網站開發的程式語言,而頁面跳躍並攜帶POST資料是在網站開發中常見的需求。本文將介紹如何實現PHP頁面跳轉並攜帶POST數據,包括具體的程式碼範例。在PHP中,頁面跳躍一般透過header函數實現。如果需要在跳轉過程中攜帶POST數據,可以透過以下步驟完成:首先,建立一個包含表單的頁面,使用者在該頁面填寫資訊並點擊提交按鈕。在表單的acti

PHP程式碼範例:如何用POST方式傳參並實現頁面跳轉 PHP程式碼範例:如何用POST方式傳參並實現頁面跳轉 Mar 07, 2024 pm 01:45 PM

標題:PHP程式碼範例:使用POST方式傳參並實現頁面跳轉的方法在Web開發中,經常涉及如何透過POST方式傳遞參數,並在伺服器端進行處理後實現頁面跳轉的需求。 PHP作為一種流行的伺服器端腳本語言,提供了豐富的函數和語法來實現這一目的。以下將透過一個實際的範例來介紹如何使用PHP來實現這項功能。首先,我們需要準備兩個頁面,一個用來接收POST請求並處理參數

PHP 與 Ajax:建立動態載入內容的解決方案 PHP 與 Ajax:建立動態載入內容的解決方案 Jun 06, 2024 pm 01:12 PM

Ajax(非同步JavaScript和XML)允許在不重新載入頁面情況下新增動態內容。使用PHP和Ajax,您可以動態載入產品清單:HTML建立一個帶有容器元素的頁面,Ajax請求載入資料後將資料加入到該元素中。 JavaScript使用Ajax透過XMLHttpRequest向伺服器傳送請求,從伺服器取得JSON格式的產品資料。 PHP使用MySQL從資料庫查詢產品數據,並將其編碼為JSON格式。 JavaScript解析JSON數據,並將其顯示在頁面容器中。點選按鈕觸發Ajax請求,載入產品清單。

See all articles