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

關于vue-resource報錯450的解決方案

 更新時間:2017年07月24日 16:15:22   作者:stardew  
本篇文章主要介紹關于vue-resource報錯450的解決方案,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

本文介紹了關于vue-resource報錯450的解決方案,分享給大家,具體如下:

一、基本使用:

1.頁面引入

 import vueResource from 'vue-resource'
 Vue.use(vueResource)

2. 調取接口

Vue.http.post(url, {
 'data1': data1,
 'data2': 'data2'
}).then(response => {
 console.log('success', response)
}, response => {
 console.log('error', response)
})

二、報錯450

定位錯誤信息:請求header沒有完全一一對應。Content-Type: application/x-www-form-urlencoded; charset=UTF-8應為Content-Type: application/json; charset=UTF-8,檢查頁面代碼,發(fā)現已經設置了

Vue.http.interceptors.push(function (request, next) {
 request.headers.set('Content-Type', 'application/json; charset=UTF-8')
 request.headers.set('Content-Type', 'application/json')
 next()
})

只是頁面沒有起作用而已,那究竟是什么原因導致頁面設置的Content-Type失效了呢?繼續(xù)追溯,發(fā)現跟這行代碼有關

 // Vue.http.options.crossOrigin = true 
 // Vue.http.options.emulateHTTP = true
 Vue.http.options.emulateJSON = true //(跟這行代碼有關)

三、分析

下面分別來講一下這幾行代碼的用處,以及emulateJSON是怎么影響到Content-Type設置的。

1. Vue.http.options.crossOrigin

這個很明顯是設置跨域的,此處不多講。

2. Vue.http.options.emulateHTTP

參考地址:https://github.com/pagekit/vue-resource/blob/develop/src/http/interceptor/method.js

摘出源碼

/**
 * HTTP method override Interceptor.
 */

export default function (request, next) {

  if (request.emulateHTTP && /^(PUT|PATCH|DELETE)$/i.test(request.method)) {
    request.headers.set('X-HTTP-Method-Override', request.method);
    request.method = 'POST';
  }

  next();
}

大概的意思就是如果請求方式為PUT|PATCH|DELETE,服務器又沒法處理這幾類請求的時候,設置Vue.http.options.emulateHTTP = true的話可以將X-HTTP-Method-Override設置為PUT|PATCH|DELETE,然后使用普通的post進行請求。

關于X-HTTP-Method-Override講一下,它的使用場景是:

在某些HTTP代理不支持類似PUT|PATCH|DELETE這些類型HTTP請求的情況下,可以通過另一種完全違背協議的HTTP方法來"代理"。這種協議就是,使客戶端發(fā)出HTTP POST請求并設置header里X-HTTP-Method-Override值為PUT|PATCH|DELETE。

3. Vue.http.options.emulateJSON

參考地址:https://github.com/pagekit/vue-resource/blob/develop/src/http/interceptor/form.js

摘出源碼

/**
 * Form data Interceptor.
 */

import Url from '../../url/index';
import { isObject, isFormData } from '../../util';

export default function (request, next) {

  if (isFormData(request.body)) {

    request.headers.delete('Content-Type');

  } else if (isObject(request.body) && request.emulateJSON) {

    request.body = Url.params(request.body);
    request.headers.set('Content-Type', 'application/x-www-form-urlencoded');
  }

  next();
}

從第17行可以看到,如果設置了emulateJSON的話會默認加上這句

request.headers.set('Content-Type', 'application/x-www-form-urlencoded');

這就是為什么我們設置的Content-Type失效了。只要去掉Vue.http.options.emulateHTTP = true 或者直接置為false就可以了。

vue-resource(github)地址:https://github.com/pagekit/vue-resource

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

相關文章

  • vue后臺管理如何配置動態(tài)路由菜單

    vue后臺管理如何配置動態(tài)路由菜單

    這篇文章主要介紹了vue后臺管理如何配置動態(tài)路由菜單,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-04-04
  • vue+antDesign實現樹形數據展示及勾選聯動

    vue+antDesign實現樹形數據展示及勾選聯動

    本文主要介紹了vue+antDesign實現樹形數據展示及勾選聯動,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-02-02
  • Vuex 使用 v-model 配合 state的方法

    Vuex 使用 v-model 配合 state的方法

    這篇文章主要介紹了Vuex 使用 v-model 配合 state的方法,本文通過實例代碼給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下
    2018-11-11
  • vue3中做文件預覽的項目實踐

    vue3中做文件預覽的項目實踐

    本文主要介紹了在Vue3項目中實現常見文件類型的預覽功能,包括docx、xlsx、pdf、txt、png、jpg、jpeg、mp4和mp3,具有一定的參考價值,感興趣的可以了解一下
    2025-01-01
  • Vue報錯Syntax?Error:TypeError:?this.getOptions?is?not?a?function的解決方法

    Vue報錯Syntax?Error:TypeError:?this.getOptions?is?not?a?

    前幾天在vue運行項目過程中報錯了,所以下面這篇文章主要給大家介紹了關于Vue報錯Syntax?Error:TypeError:?this.getOptions?is?not?a?function的解決方法,需要的朋友可以參考下
    2022-07-07
  • vue項目使用定時器每隔幾秒運行一次某方法代碼實例

    vue項目使用定時器每隔幾秒運行一次某方法代碼實例

    有時候在項目中我們經常需要設置簡單的倒計時功能,這個可以通過定時器來實現,下面這篇文章主要給大家介紹了關于vue項目使用定時器每隔幾秒運行一次某方法的相關資料,需要的朋友可以參考下
    2023-04-04
  • Vue父子模版?zhèn)髦导敖M件傳值的三種方法

    Vue父子模版?zhèn)髦导敖M件傳值的三種方法

    這篇文章主要介紹了Vue父子模版?zhèn)髦导敖M件傳值的三種方法,需要的朋友可以參考下
    2017-11-11
  • Vue實現渲染數據后控制滾動條位置(推薦)

    Vue實現渲染數據后控制滾動條位置(推薦)

    這篇文章主要介紹了Vue實現渲染數據后控制滾動條位置,本文通過圖文并茂的形式給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-12-12
  • Vue中用JSON實現刷新界面不影響倒計時

    Vue中用JSON實現刷新界面不影響倒計時

    這篇文章主要為大家詳細介紹了Vue中用JSON實現刷新界面不影響倒計時,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-10-10
  • vue Tooltip提示動態(tài)換行問題

    vue Tooltip提示動態(tài)換行問題

    這篇文章主要介紹了vue Tooltip提示動態(tài)換行問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-09-09

最新評論

和平县| 沁阳市| 望都县| 蕲春县| 九龙县| 昌图县| 凉城县| 衡阳县| 阿尔山市| 长寿区| 威信县| 枞阳县| 林甸县| 阿巴嘎旗| 石柱| 新闻| 塔城市| 寿宁县| 大姚县| 军事| 襄樊市| 浏阳市| 上犹县| 双流县| 舞钢市| 克什克腾旗| 渑池县| 崇文区| 兴仁县| 石家庄市| 湘乡市| 中宁县| 平遥县| 台山市| 新巴尔虎左旗| 广东省| 湛江市| 衡阳县| 瑞金市| 桦甸市| 菏泽市|