Thinkphp 5.0.5 ajax中put和delete请求方法的解决方案
2017-05-23 00:00
726 查看
摘要: thinkphp5 restful api中的一点bug
1.jquery中ajax的请求方法type可以设定为get,post,put,delete等
2.请求方式分为:
2.1 简单请求如:get,post,options,一次请求即可成功
2.2 复杂请求(预先请求):put,delete等,首先会使用options去向服务器发送请求,请求通过以后,才会发送真正的请求。例如:put 请求,会被拆解成2部分,1.options请求成功后 2.才会进行put请求
详情:https://developer.mozilla.org/en-US/docs/Web/HTTP/Access_control_CORS
3.解决方案
思路如下。在生成rest路由之前判断请求方式是否是options方法:
代码:简单粗暴
路径:thinkphp\library\think\Route.php public static function rule(){
}
1.jquery中ajax的请求方法type可以设定为get,post,put,delete等
2.请求方式分为:
2.1 简单请求如:get,post,options,一次请求即可成功
2.2 复杂请求(预先请求):put,delete等,首先会使用options去向服务器发送请求,请求通过以后,才会发送真正的请求。例如:put 请求,会被拆解成2部分,1.options请求成功后 2.才会进行put请求
详情:https://developer.mozilla.org/en-US/docs/Web/HTTP/Access_control_CORS
3.解决方案
思路如下。在生成rest路由之前判断请求方式是否是options方法:
代码:简单粗暴
路径:thinkphp\library\think\Route.php public static function rule(){
}
if($_SERVER['REQUEST_METHOD'] == 'OPTIONS'){ header("Access-Control-Allow-Origin: *"); header("Access-Control-Allow-Methods: POST,GET,DELETE,PUT,OPTIONS"); die; }
相关文章推荐
- Ajax中Put和Delete请求传递参数无效的解决方法(Restful风格
- Spring boot PUT、DELETE 请求无法定位方法及获取参数解决方案
- 资料汇总--Ajax中Put和Delete请求传递参数无效的解决方法(Restful风格)【转】
- Ajax中Put和Delete请求传递参数无效的解决方法(Restful风格)
- http的四种请求方法:get, put, post, delete
- HTTP 请求方法 GET、POST、PUT、DELETE 杂谈
- 解析HTTP协议六种请求方法,get,head,put,delete,post有什么区别
- 针对RestFul风格的PUT,DELETE请求在SpringMVC的Controller层无法接收参数的解决方案
- jQuery AJAX中的$.ajax()方法请求成功却始终进入error问题的解决方案及原因记录
- 简单的HTTP请求post,get,put,delete,head方法的实现
- Ajax跨域请求action方法,无法传递及接收cookie信息(应用于系统登录认证及退出)解决方案
- HTTP协议六种请求方法,get,head,put,delete,post有什么区别
- springmvc restful put delete Ajax 请求参数取不到-已解决
- springMVC使用PUT、DELETE方法传递参数解决方案
- ABP PUT、DELETE请求错误405.0 - Method Not Allowed 因为使用了无效方法(HTTP 谓词) 引发客户端错误 No 'Access-Control-Allow-Origin' header is present on the requested resource
- 《HTTP小书》读书笔记(3)请求之请求方法(关键词:计算机网络/HTTP/请求方法/GET/POST/OPTIONS/PUT/DELETE/CONNECT)
- ajax参数传递之[HttpGet]/[HttpPost]/[HttpPut]/[HttpDelete]请求
- 阿里CDN不支持PUT、DELETE方法的解决方案
- 让python bottle框架支持jquery ajax的RESTful风格的PUT和DELETE等请求(新方法)
- 解析HTTP协议六种请求方法,get,head,put,delete,post有什么区别