一则“HTTP 405 Method Not Allowed”的解决办法
在angular 1.4版本的项目中,程序一直运行正常,突然有一天,在提交表单时,提示“HTTP 405”错误——“Method Not Allowed”。
从字面上的意思理解,很显然是提交方法的类型错误,要么是以GET方式向POST接口提交数据,要么是POST方式项GET接口提交数据,但反反复复检查了后端接口与提交方式,都是POST,完全没有问题。
仔细检查前端代码,发现编写方式如下:
$http({method : 'POST',url : '/test',params : {cycle : key,emp_id : user.id}}).success(function (resp) {// 处理逻辑});
这样的编程方式有两个问题:
1. 提交的参数暴露在外;
2. 默认提交的Header参数“content-type”为“application/json”;
但经过反复的实验,请参见《浏览器查询参数与表单数据的优先级》,第一个问题不会导致405错误,所以很容易确定问题所在,解决办法是明确指定“content-type”,如下:
$http({method : 'POST',url : '/test',params : {cycle : key,emp_id : user.id},// 新增content-type头部属性heads : {'content-type' : 'application/x-www-form-urlencoded'}}).success(function (resp) {// 处理逻辑});
如果要解决第一个问题,那么只需要引入$httpParamSerializer服务即可,如下:
$http({method : 'POST',url : '/test',// 以表单方式提交,将Object转换为form参数方式data : $httpParamSerializer({cycle : key,emp_id : user.id}),// 新增content-type头部属性heads : {'content-type' : 'application/x-www-form-urlencoded'}}).success(function (resp) {// 处理逻辑});
结论
在发生HTTP 405错误,不妨首先检查下请求头部的“content-type”信息。
一则“HTTP 405 Method Not Allowed”的解决办法相关推荐
- 关于HTTP请求出现405状态码 Method not allowed的解决办法
如图所示: httppost请求目标网站会出现405 状态码,是因为 Apache.IIS.Nginx等绝大多数web服务器,都不允许静态文件响应POST请求. 所以将post请求改为get请求即可.
- php 405跳转,php采用curl访问域名返回405 method not allowed提示的解决方法
/** * http测试 * 注:PHP版本5.2以上才支持CURL_IPRESOLVE_V4 * @param $url 网站域名 * @param $type 网站访问协议 * @param $i ...
- 解决“HTTP/1.1 405 Method not allowed”问题
Apache.IIS.Nginx等绝大多数web服务器,都不允许静态文件响应POST请求,否则会返回"HTTP/1.1 405 Method not allowed"错误. 即,将 ...
- 使用第三方SDK(如微信、qq、快看、头条等),调用接口405 Method Not Allowed
使用第三方SDK(如微信.qq.快看.头条等),调用接口405 Method Not Allowed 错误描述:postman请求正常,但客户端调用后接口没有反应,但返回了405错误. 解决方法:第三 ...
- SVN 服务器发送了意外的返回值(405 Method Not Allowed),在响应 “MKCOL” 的请求
服务器发送了意外的返回值(405 Method Not Allowed),在响应 "MKCOL" 的请求 服务器发送了意外的返回值(405 Method Not Allowed), ...
- 使用Jersey跨服务器上传图片 报405 Method Not Allowed错误
springMVC跨服务器上传 报错: HTTP Status 500 – Internal Server ErrorType 异常报告 消息 Request processing failed; n ...
- 405 Method Not Allowed
当jquery easyui的datagrid插件使用.json文件为数据源,通过非http协议访问[就是直接拖进浏览器查看效果],能正常加载.json文件并且生成datagrid数据源.但是通过ht ...
- “Remote server returned error: (405) method not allowed.”的解决方案
本文由 比特飞 原创发布,欢迎大家踊跃转载. 转载请注明本文地址:"Remote server returned error: (405) method not allowed." ...
- php 405,php Restler 405 Method Not Allowed 问题解决啦,restlerallowed_PHP教程
php Restler 405 Method Not Allowed 问题解决啦,restlerallowed 在学习Restler 3的时候,在看到 Example的CURD中,用Firefox的R ...
- mysql405错误_mysql - 在框架内php调用某个方法, nginx 报 405错误 Status Code:405 Method Not Allowed...
在框架内方法某个方法 nginx 报 405错误 Status Code:405 Method Not Allowed Remote Address:102.224.214.168:80 Reques ...
最新文章
- 双智机器人 珠海_美的集团:“双智”战略加速推行,加强发展机器人业务
- java过滤4字节_乐字节Java8核心特性实战之四:方法引用
- Junit 内部解密之一: Test + TestCase + TestSuite
- JAVA常见算法题(三十三)---求子串在字符串中出现的次数
- 操作系统--设备管理
- Linux常用命令、权限管理和开发工具详细介绍
- 再论sklearn分类器
- 《产品经理面试攻略》PART 4:笔试与面试
- hexo+next主题优化之加入网易云音乐、网易云跟帖、炫酷动态背景
- Verilog学习笔记(7)Modelsim仿真_三角波发生器
- [TravelNotes] CTSC 2017 APIO 2017 THUPC 2017 游记
- jquery Chosen使用
- this.$nextTick() 学(cai)习(keng)
- 一文带你了解ARM的发展历程
- idead导入maven多模块
- java 绘图板_非常值得学习的java 绘图板源代码
- 【OfferX】常见题目
- 仿真1 - takeoff_land
- mysql 初始化修改密码问题
- ble理论(14) ble 扫描详解
热门文章
- ubuntu Nvidia dkms 驱动恢复
- PHP经典实用案例1000个
- Axure 软件自带的图标元件Icons无法显示的问题解决方法
- 用php表单写出梯形的面积,梯形面积
- 计算机房电磁辐射防护,环境电磁辐射监测仪器要求和标准监测方法
- “我的一剂良药”之开源指北
- 怎么把解压的文件在HTML打开,压缩文件怎么解压打开?
- #读源码+论文# 三维点云分割Deep Learning Based Semantic Labelling of 3D Point Cloud in Visual SLAM
- windows 添加开机启动项
- 技术图文:如何利用 C#+Echarts 绘制 Smoothed Line Chart?