国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

Vue-resource實現ajax請求和跨域請求示例

2019-11-19 17:26:18
字體:
來源:轉載
供稿:網友

vue-resource是Vue提供的體格http請求插件,如同jQuery里的$.ajax,用來和后端交互數據的。

在使用時,首先需要安裝vue-resource插件

1.在項目跟目錄上安裝:

npm install vue-resource 

 2.引入resource插件

import VueResource from 'vue-resource'; Vue.use(VueResource) 

3.發送請求:

this.$http.get("http://www.vrserver.applinzi.com/aixianfeng/apihome.php").then(function(res){   console.log(res)  }) 

ES6寫法:

this.$http.get('url', [options]).then((res) => { // 處理成功的結果}, (res) => { // 處理失敗的結果}); 

在發送請求后,使用then方法來處理響應結果,then方法有兩個參數,第一個參數是響應成功時的回調函數,第二個參數是響應失敗時的回調函數。

then方法的回調函數也有兩種寫法,第一種是傳統的函數寫法,第二種是更為簡潔的ES 6的Lambda寫法:

POST請求:

this.$http.post("http://www.vrserver.applinzi.com/aixianfeng/apihome.php",{name:"abc"},{emulateJSON:true}).then(    function (res) {     // 處理成功的結果     alert(res.body);    },function (res) {    // 處理失敗的結果    }   );

JSONP請求:

new Vue({ ready() {  this.$http.jsonp('/url', {name:"abc"}) .then(function (res){   console.log(res)  }, function (res) {   console.log(res)   });  } })

吐槽一下,現在應該沒有用到JSON的了吧,有的話真呵呵呵了。

支持的HTTP方法

vue-resource的請求API是按照REST風格設計的,它提供了7種請求API:

  • get(url, [options])
  • head(url, [options])
  • delete(url, [options])
  • jsonp(url, [options])
  • post(url, [body], [options])
  • put(url, [body], [options])
  • patch(url, [body], [options])

除了jsonp以外,另外6種的API名稱是標準的HTTP方法。當服務端使用REST API時,客戶端的編碼風格和服務端的編碼風格近乎一致,這可以減少前端和后端開發人員的溝通成本。

客戶端請求方法 服務端處理方法
this.$http.get(...) Getxxx
this.$http.post(...) Postxxx
this.$http.put(...) Putxxx
this.$http.delete(...) Deletexxx

options對象

發送請求時的options選項對象包含以下屬性:

參數 類型 描述
url string 請求的URL
method string 請求的HTTP方法,例如:'GET', 'POST'或其他HTTP方法
body Object, FormDatastring request body
params Object 請求的URL參數對象
headers Object request header
timeout number 單位為毫秒的請求超時時間 (0 表示無超時時間)
before function(request) 請求發送前的處理函數,類似于jQuery的beforeSend函數
progress function(event) ProgressEvent回調處理函數
credientials boolean 表示跨域請求時是否需要使用憑證
emulateHTTP boolean 發送PUT, PATCH, DELETE請求時以HTTP POST的方式發送,并設置請求頭的X-HTTP-Method-Override
emulateJSON boolean 將request body以application/x-www-form-urlencoded content type發送

emulateHTTP的作用

如果Web服務器無法處理PUT, PATCH和DELETE這種REST風格的請求,你可以啟用enulateHTTP現象。啟用該選項后,請求會以普通的POST方法發出,并且HTTP頭信息的X-HTTP-Method-Override屬性會設置為實際的HTTP方法。

Vue.http.options.emulateHTTP = true;

emulateJSON的作用

如果Web服務器無法處理編碼為application/json的請求,你可以啟用emulateJSON選項。啟用該選項后,請求會以application/x-www-form-urlencoded作為MIME type,就像普通的HTML表單一樣。

Vue.http.options.emulateJSON = true;

response對象

response對象包含以下屬性:

方法 類型 描述
text() string 以string形式返回response body
json() Object 以JSON對象形式返回response body
blob() Blob 以二進制形式返回response body
屬性 類型 描述
ok boolean 響應的HTTP狀態碼在200~299之間時,該屬性為true
status number 響應的HTTP狀態碼
statusText string 響應的狀態文本
headers Object 響應頭

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持武林網。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 宜丰县| 宜都市| 洮南市| 兴海县| 金溪县| 大荔县| 齐河县| 方城县| 淳化县| 商河县| 南通市| 金山区| 呼玛县| 衡山县| 沿河| 盖州市| 田林县| 夹江县| 永吉县| 磐安县| 皮山县| 蕲春县| 伽师县| 陵川县| 涟源市| 华宁县| 满城县| 东至县| 上蔡县| 高青县| 石首市| 赣州市| 湖南省| 南部县| 山丹县| 沁阳市| 保德县| 东平县| 榆中县| 兴城市| 泉州市|