1. 程式人生 > >前端get和post請求的入門總結

前端get和post請求的入門總結

       最近一段時間開始入手前端頁面和後端功能的編寫,對於get和post請求,只知些許的皮毛,現在綜合網上的一些文案,做一下總結。

1、HTTP 請求:GET vs. POST

兩種在客戶端和伺服器端進行請求-響應的常用方法是:GET 和 POST。

  • GET - 從指定的資源請求資料
  • POST - 向指定的資源提交要處理的資料

GET 基本上用於從伺服器獲得(取回)資料。註釋:GET 方法可能返回快取資料。

POST 也可用於從伺服器獲取資料。不過,POST 方法不會快取資料,並且常用於連同請求一起傳送資料

下面的表格比較了兩種 HTTP 方法:GET 和 POST。

GET POST
後退按鈕/重新整理 無害 資料會被重新提交(瀏覽器應該告知使用者資料會被重新提交)。
書籤 可收藏為書籤 不可收藏為書籤
快取 能被快取 不能快取
編碼型別 application/x-www-form-urlencoded application/x-www-form-urlencoded 或 multipart/form-data。為二進位制資料使用多重編碼。
歷史 引數保留在瀏覽器歷史中。 引數不會儲存在瀏覽器歷史中。
對資料長度的限制 是的。當傳送資料時,GET 方法向 URL 新增資料;URL 的長度是受限制的(URL 的最大長度是 2048 個字元)。 無限制。
對資料型別的限制 只允許 ASCII 字元。 沒有限制。也允許二進位制資料。
安全性

與 POST 相比,GET 的安全性較差,因為所傳送的資料是 URL 的一部分。

在傳送密碼或其他敏感資訊時絕不要使用 GET !

POST 比 GET 更安全,因為引數不會被儲存在瀏覽器歷史或 web 伺服器日誌中。
可見性 資料在 URL 中對所有人都是可見的。 資料不會顯示在 URL 中。

2、HTTP 請求實體

定義和用法

$.get() 方法使用 HTTP GET 請求從伺服器載入資料。

例項

請求 "test.php",但是忽略返回結果:

$.get("test.php");

請求 "test.php" 並連同請求傳送一些額外的資料(忽略返回結果):

$.get("test.php", { name:"Donald", town:"Ducktown" });

請求 "test.php" 並傳遞資料陣列到伺服器(忽略返回結果):

$.get("test.php", { 'colors[]' : ["Red","Green","Blue"] });

請求 "test.php" 並提醒請求的結果:

$.get("test.php", function(data){
alert("Data: " + data);
});

語法

$.get(URL,data,function(data,status,xhr),dataType)
引數 描述
URL 必需。規定您需要請求的 URL。
data 可選。規定連同請求傳送到伺服器的資料。
function(data,status,xhr) 可選。規定當請求成功時執行的函式。
額外的引數:
  • data - 包含來自請求的結果資料
  • status - 包含請求的狀態("success"、"notmodified"、"error"、"timeout"、"parsererror")
  • xhr - 包含 XMLHttpRequest 物件
dataType 可選。規定預期的伺服器響應的資料型別。
預設地,jQuery 會智慧判斷。
可能的型別:
  • "xml" - 一個 XML 文件
  • "html" - HTML 作為純文字
  • "text" - 純文字字串
  • "script" - 以 JavaScript 執行響應,並以純文字返回
  • "json" - 以 JSON 執行響應,並以 JavaScript 物件返回
  • "jsonp" - 使用 JSONP 載入一個 JSON 塊,將新增一個 "?callback=?" 到 URL 來規定回撥

例項

請求 test.php 網頁,忽略返回值:

$.post("test.php");

通過 AJAX POST 請求改變 div 元素的文字:

$("input").keyup(function(){
  txt=$("input").val();
  $.post("demo_ajax_gethint.asp",{suggest:txt},function(result){
    $("span").html(result);
  });
});
定義和用法 post() 方法通過 HTTP POST 請求從伺服器載入資料。

語法

jQuery.post(url,data,success(data, textStatus, jqXHR),dataType)
引數 描述
url 必需。規定把請求傳送到哪個 URL。
data 可選。對映或字串值。規定連同請求傳送到伺服器的資料。
success(data, textStatus, jqXHR) 可選。請求成功時執行的回撥函式。
dataType

可選。規定預期的伺服器響應的資料型別。

預設執行智慧判斷(xml、json、script 或 html)。


詳細說明

該函式是簡寫的 Ajax 函式,等價於:

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

根據響應的不同的 MIME 型別,傳遞給 success 回撥函式的返回資料也有所不同,這些資料可以是 XML 根元素、文字字串、JavaScript 檔案或者 JSON 物件。也可向 success 回撥函式傳遞響應的文字狀態。



相關推薦

前端getpost請求入門總結

       最近一段時間開始入手前端頁面和後端功能的編寫,對於get和post請求,只知些許的皮毛,現在綜合網上的一些文案,做一下總結。 1、HTTP 請求:GET vs. POST 兩種在

http GET POST 請求的優缺點誤區 --前端優化

Get和Post在面試中一般都會問到,一般的區別: (1)post更安全(不會作為url的一部分,不會被快取、儲存在伺服器日誌、以及瀏覽器瀏覽記錄中) (2)post傳送的資料更大(get有url長度限制) (3)post能傳送更多的資料型別(get只能傳送ASCII字元)

Android入門 傳送HTTP的GETPOST請求

                HTTP的請求詳解在我的部落格中已經講解過:如HttpRequestUtil.sendGetRequest();是傳送GET請求;一、核心程式碼HTTP GET 核心程式碼:(1)String value = URLEncoder.encode(String value,"UT

.net core MVC接受來自自前端GETPOST請求方法的區別

小夥伴們都知道,常用的http請求有兩種方式,即GET方法和POST方法,很多剛入門的童鞋難免都會有一個誤區,是不是GET是從伺服器上獲取資料,POST是向伺服器傳送資料? 我的理解是:不論是GET還是POST,都是向伺服器提交資料,並且請求之後都會從伺服器獲取資料,兩者的區別僅是傳送方式不同而已,GET通

發送getpost請求時常用的content-type

encode json數據格式 ima for www 下載 orm 文件上傳 服務器 常見的媒體格式類型如下: text/html : HTML格式 text/plain :純文本格式 text/xml : XML格式

HttpClient GETPOST請求

pri execute public methods gre col esp odt stringbu package com.rogue.hclient; import java.io.BufferedReader; import java.io.IOExceptio

http基本getpost請求

read exce pen timeout etc builder pri void tin get請求: private static void httpGet(){ BufferedReader br = null; HttpU

GETPOST請求的區別

cat nal 賬號 span asc 交互 cap 開發 code GET和POST請求的區別 GET請求GET /books/?sex=man&name=Professional HTTP/1.1Host: www.wrox.comUser-Agent: Mo

python request 接口測試getpost請求

.post .get access username int 用戶 post請求 運行 開發 開發IDE:pycharm python:2.7.10 get請求 # coding: UTF-8 #兼容中文字符,如果沒有這句,程序中有中文字符時,運行會報錯import

小程序的getpost請求頭的區別

type www 成功 ava form brush quest -type function 小程序在使用wx.request()接口 時 header 請求頭默認是這樣的 wx.request({ url: ‘test.php‘, //僅為示例,並非真實的接口

php-getpost請求

output class ray 工作日 打印 init print bsp clas 1.get請求 <?php //判斷20130101是否是工作日 //工作日對應結果為 0, 休息日對應結果為 1, 節假日對應的結果為 2; $url=‘http://www

PHP中使用CURL實現GETPOST請求

由於 protocol 對稱加密 即使 匯報 bst 接口 useragent 拷貝 一、什麽是CURL? cURL 是一個利用URL語法規定來傳輸文件和數據的工具,支持很多協議,如HTTP、FTP、TELNET等。最爽的是,PHP也支持 cURL 庫。使用php的cURL

CURL實現發送GetPost請求(PHP)

結果 基本 釋放 初始 常用 header 理解 介紹 今天 1.cURL介紹   cURL 是一個利用URL語法規定來傳輸文件和數據的工具,支持很多協議,如HTTP、FTP、TELNET等。最爽的是,PHP也支持 cURL 庫。本文將介紹 cURL 的一些高級特性,以及

封裝curl的getpost請求

else 請求 enc con code urn gpo sta url /** * GET 請求 * @param string $url */ function http_get($url){ $oCurl = curl_init(); if(s

C#中GetPost請求的同步及異步方法

iter epo charset result string pty streambuf div httpget 在C#中發起Http請求一般使用HttpWebRequest這個類,下文將使用這個HttpWebRequest對象來對Get和Post的同步及異步請求進行封裝:

getpost請求

OS nbsp alt 請求 ima body bsp .com bubuko get和post請求

js-Ajax-getpost請求

js Ajax get 1:get請求方式:// 1:創建XMLHttpRequest對象 var xhr; if (window.XMLHttpRequest) { // 其他類型的瀏覽器 xhr = new XMLHttpRequest(); } else { // ie瀏覽器

Http協議中GETPOST請求方法的區別

出場 請求參數 底層 情況下 -type 過去 firefox url sym GET和POST是HTTP請求的兩種基本方法,要說它們的區別,接觸過WEB開發的人都能說出一二。 最直觀的區別就是GET把參數包含在URL中,POST通過request body傳遞

getpost請求方法的區別

外衣 log ati 技術 告訴 alt 怎麽 yahoo 鏈接 GET和POST是HTTP請求的兩種基本方法,要說它們的區別,接觸過WEB開發的人都能說出一二。 最直觀的區別就是GET把參數包含在URL中,POST通過request body傳遞參數。 你可能自

ajax向服務器發出getpost請求

-c 效果 doc 假設 orm php 感覺 包含 只需要 假設有個網站A,它有一個簡單的輸入用戶名的頁面,界面上有兩個輸入框,第一個輸入框包含在一個form表單裏用來實現form提交,第二個輸入框是單獨的、沒有包含在form裏,下面就用這兩個輸入框來學習下jQuery的