HTTP請求中Get、Post與后台參數接收的分析


HTTP請求中Get、Post與后台參數接收的分析

前言:在http請求時經常碰到這兩種方式,經常后台接收不到參數,所以總結一下,不同的請求方式的用處以及在后台如何接收。

參考:
https://www.bbsmax.com/A/amd0E1mDzg/
https://blog.csdn.net/xybelieve1990/article/details/81111786
https://www.cnblogs.com/btgyoyo/p/6141480.html
https://blog.csdn.net/u013827143/article/details/86222486

一、Get請求

get請求比較簡單,只是在請求鏈接后面加上參數。后台接收參數時直接把對應的參數寫在函數的方法中即可。

如請求為:

http://xxxx/exportPeople/peoplePackage/like?queryParameter=123

在谷歌的開發者工具中會顯示為:

二、Post請求

2.1 application/x-www-form-urlencoded

前端傳的content-typeapplication/x-www-form-urlencoded,這也是默認的請求方式

這樣,參數在請求體以標准的Form Data的形式提交,以&符號拼接,參數格式為key=value&key=value&key=value...

可以看到請求體為 參數名=參數值& 的形式組合起來的,和get差不多,只不過一個是在request請求體中,一個是在請求的url中。

在谷歌瀏覽器的開發者工具里,會顯示為

如果有數組則是:

2.2 multipart/form-data

前端傳的content-typemultipart/form-data,一般要傳圖片、mp3、文件時會選擇這個,它會將表單的數據處理為一條消息,以標簽為單元,用分隔符分開。既可以上傳鍵值對,也可以上傳文件。當上傳的字段是文件時,會有Content-Type來說明文件類型;content-disposition,用來說明字段的一些信息;

由於有boundary隔離,所以multipart/form-data既可以上傳文件,也可以上傳鍵值對,它采用了鍵值對的方式,所以可以上傳多個文件。

http工具上傳:

js,ajax上傳:

    var formData = new FormData(); 
	formData.append('file', img.files[0]);  //添加圖片信息的參數
	formData.append('typeCode',typeResCode);//添加其它參數
	$.ajax({
	    url: rep_service_api.resThumbnailUpdate,
	    headers : {
            'Access-Control-Allow-Origin' : '*',
        	'Return-Data-Type':'json'
        },
	    type: 'POST',
	    cache: false, //上傳文件不需要緩存
	    data: formData,
	    processData: false, // 告訴jQuery不要去處理發送的數據
	    contentType: false, // 告訴jQuery不要去設置Content-Type請求頭
	    success: function (data) {
	       console.log("執行成功函數")
	    },
	    error: function (data) {
	    }
	})  

在谷歌瀏覽器的開發者工具里,會顯示為:

view source:

2.3application/json

前端傳的content-typeapplication/json,主要是用來傳json數據

谷歌瀏覽器中顯示:

view source:

原文: https://blog.csdn.net/q610376681/article/details/103869989/


免責聲明!

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



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