关于vue-resource报错450的解决方案
发布时间 - 2026-01-11 02:29:45 点击率:次本文介绍了关于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,检查页面代码,发现已经设置了
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失效了呢?继续追溯,发现跟这行代码有关
// 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方法来"代理"。这种协议就是,使客户端发出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
# resource
# 450错误
# resource错误处理
# resource报错450
# 详解vue-Resource(与后端数据交互)
# 谈谈Vue.js——vue-resource全攻略
# Vue2学习笔记之请求数据交互vue-resource
# Vue-resource实现ajax请求和跨域请求示例
# 详解vue与后端数据交互(ajax):vue-resource
# vue-resource 拦截器使用详解
# 详解vue 配合vue-resource调用接口获取数据
# Vue.js使用$.ajax和vue-resource实现OAuth的注册、登录、注销和API调用
# 详解vue-resource promise兼容性问题
# 详解vue前后台数据交互vue-resource文档
# 报错
# 这行
# 这就是
# 是怎么
# 不多
# 可以通过
# 给大家
# 可以看到
# 不支持
# 影响到
# 很明显
# 设置为
# 错误信息
# 又没
# 这句
# 方法来
# 值为
# 大家多多
# 就可以
# 客户端
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
如何用y主机助手快速搭建网站?
如何在宝塔面板创建新站点?
如何用腾讯建站主机快速创建免费网站?
制作公司内部网站有哪些,内网如何建网站?
如何快速搭建高效WAP手机网站?
Laravel怎么生成URL_Laravel路由命名与URL生成函数详解
如何快速搭建高效可靠的建站解决方案?
智能起名网站制作软件有哪些,制作logo的软件?
Laravel如何生成PDF或Excel文件_Laravel文档导出工具与使用教程
JS中对数组元素进行增删改移的方法总结
韩国代理服务器如何选?解析IP设置技巧与跨境访问优化指南
网站制作壁纸教程视频,电脑壁纸网站?
Laravel PHP版本要求一览_Laravel各版本环境要求对照
Laravel如何处理CORS跨域问题_Laravel项目CORS配置与解决方案
Win11怎样安装网易有道词典_Win11安装词典教程【步骤】
网站建设要注意的标准 促进网站用户好感度!
教你用AI润色文章,让你的文字表达更专业
详解免费开源的DotNet二维码操作组件ThoughtWorks.QRCode(.NET组件介绍之四)
如何实现javascript表单验证_正则表达式有哪些实用技巧
清除minerd进程的简单方法
如何选择可靠的免备案建站服务器?
如何用AI帮你把自己的生活经历写成一个有趣的故事?
Laravel如何配置任务调度?(Cron Job示例)
网页设计与网站制作内容,怎样注册网站?
使用C语言编写圣诞表白程序
如何快速打造个性化非模板自助建站?
Laravel如何配置Horizon来管理队列?(安装和使用)
如何在万网自助建站平台快速创建网站?
Laravel怎么实现模型属性的自动加密
夸克浏览器网页跳转延迟怎么办 夸克浏览器跳转优化
如何在景安云服务器上绑定域名并配置虚拟主机?
浏览器如何快速切换搜索引擎_在地址栏使用不同搜索引擎【搜索】
如何快速搭建高效WAP手机网站吸引移动用户?
Laravel用户认证怎么做_Laravel Breeze脚手架快速实现登录注册功能
Linux虚拟化技术教程_KVMQEMU虚拟机安装与调优
如何在IIS中新建站点并解决端口绑定冲突?
Laravel Docker环境搭建教程_Laravel Sail使用指南
今日头条AI怎样推荐抢票工具_今日头条AI抢票工具推荐算法与筛选【技巧】
Laravel如何正确地在控制器和模型之间分配逻辑_Laravel代码职责分离与架构建议
详解ASP.NET 生成二维码实例(采用ThoughtWorks.QRCode和QrCode.Net两种方式)
JS实现鼠标移上去显示图片或微信二维码
Laravel怎么生成二维码图片_Laravel集成Simple-QrCode扩展包与参数设置【实战】
如何打造高效商业网站?建站目的决定转化率
宙斯浏览器怎么屏蔽图片浏览 节省手机流量使用设置方法
免费制作统计图的网站有哪些,如何看待现如今年轻人买房难的情况?
免费的流程图制作网站有哪些,2025年教师初级职称申报网上流程?
利用 Google AI 进行 YouTube 视频 SEO 描述优化
Laravel怎么实现微信登录_Laravel Socialite第三方登录集成
Laravel怎么配置S3云存储驱动_Laravel集成阿里云OSS或AWS S3存储桶【教程】
Python自动化办公教程_ExcelWordPDF批量处理案例

