最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Vue之請(qǐng)求如何傳遞參數(shù)

 更新時(shí)間:2023年04月05日 09:40:41   作者:IT__learning  
這篇文章主要介紹了Vue之請(qǐng)求如何傳遞參數(shù)問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

一、get請(qǐng)求

get請(qǐng)求沒有請(qǐng)求體,傳遞的參數(shù)是添加到url字符串的后面:url?name=value&name1=value1。

1、直接拼接

axios({
	method: "get",
	url: "http://localhost:1111/01/zc?yhm=lhj&pwd=123",   //參數(shù)拼接在url后面
}).then(function(resp){
	console.log(resp.data)
	})

參數(shù)附在url后面

攜帶的參數(shù)

2、params屬性

params屬性是將參數(shù)添加到url的請(qǐng)求字符串中。

this.axios({
	method:'get',
    params:{
          yhm:"lhj",
          pwd:"123"
          },
    url:'http://localhost:1111/01/zc'
   }).then(function(resp){
          console.log(resp.data);
          that.mes=resp.data;
         })

后端接收代碼

@CrossOrigin(origins = "*",maxAge = 3600)
    @RequestMapping(value = "/zc")
    public String ajax(String yhm,String pwd){
        System.out.println(yhm);
        System.out.println(pwd);
        return "傳參成功";
        }

二、post請(qǐng)求

post請(qǐng)求有請(qǐng)求體,傳遞的參數(shù)既可以放在請(qǐng)求體中也可以放在url后面。

1、data屬性傳遞

data是添加到請(qǐng)求體(body)中,該方式傳遞的參數(shù)有兩種格式:

(1)application/json格式

  • 前端:該格式data用json字符串進(jìn)行傳遞參數(shù),數(shù)據(jù)格式是application/json。
 this.axios({
       method:'post',
       data:{
           name:"lhj",
           age:24
           },
       url:'http://localhost:1111/01/ajax'
      }).then(function(resp){
          console.log(resp.data);
       })

url后面沒有拼接參數(shù)

數(shù)據(jù)格式application/json

請(qǐng)求體數(shù)據(jù)為json字符串

  • 服務(wù)器端接收參數(shù)使用 @RequestBody 類名 對(duì)象名 或者@RequestBody Map<>map將前端傳來的json數(shù)據(jù)封裝到一個(gè)對(duì)象或Map中。
 	@CrossOrigin(origins = "http://localhost:8080",maxAge = 3600)
    @RequestMapping(value = "/ajax",method = RequestMethod.POST)
    public String zhuce(@RequestBody Map<String,Object> user){
        System.out.println(user.get("name"));
        System.out.println(user.get("age"));
        return "傳參成功";
    }

(2)application/x-www-form-urlencoded格式

  • 前端:該格式data用查詢字符串進(jìn)行傳遞參數(shù),即"name1 = value1&name2 = value2"的形式。

該形式data有兩種傳遞方式:

①直接傳遞字符串

data:"name=lhj&age=123",      //字符串形式

②使用qs.stringify()將json轉(zhuǎn)換成查詢字符串

data:qs.stringify({name:'lhj',age:24}),
  • 后端接收
	@CrossOrigin(origins = "http://localhost:8080",maxAge = 3600)
    @RequestMapping(value = "/ajax",method = RequestMethod.POST)
    public String zhuce(String name,int age){
        System.out.println(name);
        System.out.println(age);
        return "傳參成功";
    }

2、params屬性傳遞

post請(qǐng)求用該屬性傳遞參數(shù)跟get請(qǐng)求一樣,將參數(shù)拼接在url之后。

 this.axios({
       method:'post',
       params:{
           name:"lhj"
           },
       url:'http://localhost:1111/01/ajax'
      }).then(function(resp){
          console.log(resp.data);
       })

參數(shù)附在url后面

攜帶的參數(shù)

后端代碼

@CrossOrigin(origins = "http://localhost:8080",maxAge = 3600)
    @RequestMapping(value = "/ajax",method = RequestMethod.POST)
    public String zhuce(String name){
        System.out.println(name);
        return "傳參成功";
    }

三、常見的 Content-Type 類型

Content-Type叫做MIME(mediaType)類型,使用Content-Type來表示請(qǐng)求和響應(yīng)中的媒體類型信息。如果是請(qǐng)求頭,它用來告訴服務(wù)端如何處理請(qǐng)求的數(shù)據(jù),如果是響應(yīng)頭,它用來告訴客戶端(一般是瀏覽器)如何解析響應(yīng)的數(shù)據(jù)。

1、application/x-www-form-urlencoded

這是最常見的 POST 提交數(shù)據(jù)的方式。瀏覽器的原生 form 表單,如果不設(shè)置 enctype 屬性,那么就會(huì)以 application/x-www-form-urlencoded 方式提交數(shù)據(jù)。

請(qǐng)求參數(shù)以 key1=val1&key2=val2 的方式進(jìn)行拼接,并放到請(qǐng)求實(shí)體里面,如果是中文或特殊字符等會(huì)自動(dòng)進(jìn)行URL轉(zhuǎn)碼。一般用于表單提交。

2、multipart/form-data

multipart/form-data 將表單的數(shù)據(jù)處理為一條消息,以標(biāo)簽為單元,用分隔符 boundary分開。multipart/form-data 支持文件上傳的格式,一般需要上傳文件的表單則用該類型。

3、application/json

application/json 類型用來告訴服務(wù)端消息主體是序列化后的 JSON 字符串,其中一個(gè)好處就是JSON 格式支持比鍵值對(duì)復(fù)雜得多的結(jié)構(gòu)化數(shù)據(jù)。

前端人員不需要關(guān)心數(shù)據(jù)結(jié)構(gòu)的復(fù)雜度,只要是標(biāo)準(zhǔn)的json格式就能提交成功。

由于 JSON 規(guī)范的流行,除了低版本 IE 之外的各大瀏覽器都原生支持JSON.stringify,服務(wù)端語言也都有處理 JSON 的函數(shù),使用起來沒有困難。

使用技巧:

Accept 為客戶端希望接受的數(shù)據(jù)類型,Content-Type 為(客戶端或者服務(wù)端)發(fā)送的實(shí)體數(shù)據(jù)的數(shù)據(jù)類型,兩者是有區(qū)別的,如果服務(wù)端返回的類型和客戶端希望接受的數(shù)據(jù)類型不一致,從而報(bào)錯(cuò)406。

(1)客戶端發(fā)送請(qǐng)求時(shí)的 Content-Type 設(shè)置如果設(shè)置的不準(zhǔn)確會(huì)導(dǎo)致服務(wù)端解析不了,從而報(bào)錯(cuò)415。

(2)服務(wù)端響應(yīng)的 Content-Type 最好也設(shè)置準(zhǔn)確,亂設(shè)置某些情況下可能會(huì)有問題,比如導(dǎo)致文件無法下載,客戶端把 json 數(shù)據(jù)當(dāng)成文本使用。

(3)如果是一個(gè) restful 接口(json格式),一般將 Content-Type 設(shè)置為 application/json;charset=UTF-8

(4)如果是文件上傳,一般 Content-Type 設(shè)置為 multipart/form-data

(5)如果普通表單提交,一般 Content-Type 設(shè)置為 application/x-www-form-urlencoded。

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

最新評(píng)論

开江县| 福泉市| 宁国市| 定安县| 凯里市| 泸西县| 开江县| 贺州市| 宣威市| 昌都县| 耿马| 六安市| 五常市| 唐海县| 棋牌| 香港 | 芦山县| 博湖县| 望都县| 浪卡子县| 麻江县| 新邵县| 穆棱市| 澜沧| 宾川县| 新沂市| 嘉黎县| 丹阳市| 攀枝花市| 遵义市| 兰溪市| 永寿县| 定远县| 八宿县| 麻江县| 威宁| 林口县| 黄冈市| 铜川市| 道真| 保德县|