App下載

jQuery 的 post 請(qǐng)求

猿友 2020-12-25 18:53:46 瀏覽數(shù) (8390)
反饋

get 和 post 請(qǐng)求概述

#jQuery#在Http中,有多種請(qǐng)求方式,如get、post等,但是最常用的是獲取數(shù)據(jù)和提交數(shù)據(jù),獲取數(shù)據(jù)是get請(qǐng)求,提交數(shù)據(jù)是post請(qǐng)求。

注意:HTTP請(qǐng)求是指客戶端向服務(wù)器發(fā)送的請(qǐng)求。例如使用自己的電腦打開瀏覽器,輸入“百度”的網(wǎng)址,此時(shí)就是從你的計(jì)算機(jī)向百度的服務(wù)器發(fā)起HTTP請(qǐng)求。

本文專門來講述一下 $.post( ) 方法

 $.post( ) 方法

使用$.post()方法可以將html客戶端的內(nèi)容提交到服務(wù)器上,并且還可以將Post過來的數(shù)據(jù)存儲(chǔ)到數(shù)據(jù)庫(kù)中。

請(qǐng)注意,查詢字符串(名稱/值對(duì))是在 POST 請(qǐng)求的 HTTP 消息主體中發(fā)送的:

POST /test/demo_form.php HTTP/1.1

Host: w3cschool.com

name1=value1&name2=value2

有關(guān) POST 請(qǐng)求的其他一些注釋:

  • POST 請(qǐng)求不會(huì)被緩存
  • POST 請(qǐng)求不會(huì)保留在瀏覽器歷史記錄中
  • POST 不能被收藏為書簽
  • POST 請(qǐng)求對(duì)數(shù)據(jù)長(zhǎng)度沒有要求

$.post() 方法通過 HTTP POST 請(qǐng)求向服務(wù)器提交數(shù)據(jù)。

語(yǔ)法:

$.post(URL,data,callback);

必需的 URL 參數(shù)規(guī)定您希望請(qǐng)求的 URL。

可選的 data 參數(shù)規(guī)定連同請(qǐng)求發(fā)送的數(shù)據(jù)。

可選的 callback 參數(shù)是請(qǐng)求成功后所執(zhí)行的函數(shù)名。

下面的例子使用 $.post() 連同請(qǐng)求一起發(fā)送數(shù)據(jù):

實(shí)例

$("button").click(function(){
  $.get("demo_test.php",function(data,status){
    alert("數(shù)據(jù): " + data + "\n狀態(tài): " + status);
  });
});


嘗試一下 ?

$.post() 的第一個(gè)參數(shù)是我們希望請(qǐng)求的 URL ("demo_test_post.php")。

然后我們連同請(qǐng)求(name 和 url)一起發(fā)送數(shù)據(jù)。

"demo_test_post.php" 中的 PHP 腳本讀取這些參數(shù),對(duì)它們進(jìn)行處理,然后返回結(jié)果。

第三個(gè)參數(shù)是回調(diào)函數(shù)。第一個(gè)回調(diào)參數(shù)存有被請(qǐng)求頁(yè)面的內(nèi)容,而第二個(gè)參數(shù)存有請(qǐng)求的狀態(tài)。

提示: 這個(gè) PHP 文件 ("demo_test_post.php") 類似這樣:

<?php

$name = isset($_POST['name']) ? htmlspecialchars($_POST['name']) : '';

$url = isset($_POST['url']) ? htmlspecialchars($_POST['url']) : '';

echo '網(wǎng)站名: ' . $name;

echo "\n";

echo 'URL 地址: ' .$url;

?>


get方法與post方法的區(qū)別

 功能 GET POST
后退按鈕/刷新 無害 數(shù)據(jù)會(huì)被重新提交(瀏覽器應(yīng)該告知用戶數(shù)據(jù)會(huì)被重新提交)。
書簽 可收藏為書簽 不可收藏為書簽
緩存 能被緩存 不能緩存
編碼類型 application/x-www-form-urlencoded application/x-www-form-urlencoded or multipart/form-data。為二進(jìn)制數(shù)據(jù)使用多重編碼。
歷史 參數(shù)保留在瀏覽器歷史中。 參數(shù)不會(huì)保存在瀏覽器歷史中。
對(duì)數(shù)據(jù)長(zhǎng)度的限制 是的。當(dāng)發(fā)送數(shù)據(jù)時(shí),GET 方法向 URL 添加數(shù)據(jù);URL 的長(zhǎng)度是受限制的(URL 的最大長(zhǎng)度是 2048 個(gè)字符)。 無限制。
對(duì)數(shù)據(jù)類型的限制 只允許 ASCII 字符。 沒有限制。也允許二進(jìn)制數(shù)據(jù)。
安全性 與 POST 相比,GET 的安全性較差,因?yàn)樗l(fā)送的數(shù)據(jù)是 URL 的一部分。

在發(fā)送密碼或其他敏感信息時(shí)絕不要使用 GET !
POST 比 GET 更安全,因?yàn)閰?shù)不會(huì)被保存在瀏覽器歷史或 web 服務(wù)器日志中。
可見性 數(shù)據(jù)在 URL 中對(duì)所有人都是可見的。 數(shù)據(jù)不會(huì)顯示在 URL 中。


0 人點(diǎn)贊