日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

jquery发送put请求_浅谈GET,POST,PUT发送请求

發布時間:2023/11/27 生活经验 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 jquery发送put请求_浅谈GET,POST,PUT发送请求 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一般我們在瀏覽器的地址欄輸入網址回車后,發送的是GET請求

當用表單提交時(最普遍的是用戶登錄),我們可以指定是GET還是POST請求,這里需要注意的是有的瀏覽器并不支持PUT請求,那后臺restful的PUT請求對應的方法豈不是不能用了

SpringMVC為我們提供了一種解決方案,

1

2

3

我們還是用POST方式,但是我們添加了一個名為_method的隱藏域,并且值為put,同時需要在web.xml中添加一個Filter,如下:

1

2

3

4

5

6

7

8

HiddenHttpMethodFilter

org.springframework.web.filter.HiddenHttpMethodFilter

HiddenHttpMethodFilter

mcpMvc

這樣雖然發送的仍然是POST請求,但是該Filter會把其轉成PUT請求這樣就可以調用PUT相應的方法了

這樣做的缺點是前端頁面我們需要額外添加一個隱藏域什么的

下面結合springMVC探討一下JQuery發送AJAX請求的一些事

一般我們發送請求的代碼如下:

1

2

3

4$.ajax({

type :'get',

url :'http://localhost/TestSpring3.2R/coc/body?name=tom'

}); 或者如下:

1

2

3

4

5

6var mydata = {'name':'tom'};

$.ajax({

type :'get',

url :'http://localhost/TestSpring3.2R/coc/body',

data : mydata

}); 那么這2種有什么區別呢?

經試驗發現對于GET和POST方式,這2中沒什么差別

但是對于PUT,第一種的參數可以順利傳入,但是第二種的參數就不能接受了,那么我們怎么才能得到第二種方式所穿的參數呢?

這里我們可以使用@RequestBody

@RequestBody對于GET請求是沒有意義的

對于POST請求,無論你是使用第一種方式還是第二種方式,異或是2種方式同時使用,他會把所有的參數當放到@RequestBody所對應的那個參數里,輸出的結果類似:

1id=ff&status=gg&name=ee

如果你要用到參數,你需要自己處理

對于PUT請求 @RequestBody所對應的那個參數的值就是通過第二種方式傳進來來的值

------------------------------------我是分割線--------------------------------------

對于SpringMVC,它提供了MultiValueMap這個類,我們可以這樣來接受參數

1

2

3@RequestMapping(value ="/", produces ="application/json;charset=UTF-8", method = RequestMethod.PUT)

@ResponseBody

public Map updateUser(@RequestBody MultiValueMap valueMap){ 他回把你傳過來的參數,放到valueMap里,這個接口繼承于Map>,key就是傳過來的參數名,value就是參數值,由于可能存在同名的參數,所以value的類型是List,這樣我們就可以很方便的取得參數值了

來自:http://blog.csdn.net/mfe10714022/article/details/39692305

總結

以上是生活随笔為你收集整理的jquery发送put请求_浅谈GET,POST,PUT发送请求的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。