Nginx配置-Ajax跨域请求方式为PUT,DELETE
2018-01-02 14:26
751 查看
后台API使用了RESTful Api的接口设计,前端页面这里使用了Nginx代理进行跨域调试。
当请求方式是DELETE、PUT的时候,出现了405 Method not Allowed 错误,而且请求的方式变成了OPTIONS。
配置所有跨域请求:add_header Access-Control-Allow-Origin *;
但这里只支持简单的请求方式:GET,POST,OPTIONS,使用DELETE,PUT请求,属于复杂请求,复杂的跨域请求HTTP首先会发一个OPTIONS请求,
经过服务器的同意,再转为对应的DELETE,PUT请求,所以这里需要后端去设置。
这里我用的nginx,那么直接在配置里面改一下就好了。
出了允许跨域的配置,还需要设置允许的请求方法(请求谓词):
add_header Access-Control-Allow-Methods GET,POST,PUT,DELETE,PATCH,OPTIONS;
加上一个判断:
if ($request_method = 'OPTIONS') {
add_header Access-Control-Allow-Origin *;
add_header Access-Control-Allow-Methods GET,POST,PUT,DELETE,PATCH,OPTIONS;
return 200;
}
当请求方式是DELETE、PUT的时候,出现了405 Method not Allowed 错误,而且请求的方式变成了OPTIONS。
配置所有跨域请求:add_header Access-Control-Allow-Origin *;
但这里只支持简单的请求方式:GET,POST,OPTIONS,使用DELETE,PUT请求,属于复杂请求,复杂的跨域请求HTTP首先会发一个OPTIONS请求,
经过服务器的同意,再转为对应的DELETE,PUT请求,所以这里需要后端去设置。
这里我用的nginx,那么直接在配置里面改一下就好了。
出了允许跨域的配置,还需要设置允许的请求方法(请求谓词):
add_header Access-Control-Allow-Methods GET,POST,PUT,DELETE,PATCH,OPTIONS;
加上一个判断:
if ($request_method = 'OPTIONS') {
add_header Access-Control-Allow-Origin *;
add_header Access-Control-Allow-Methods GET,POST,PUT,DELETE,PATCH,OPTIONS;
return 200;
}
相关文章推荐
- nginx配置ajax请求跨域
- Nginx服务器中处理AJAX跨域请求的配置方法讲解
- nginx配置 解决ajax请求跨域问题
- Nginx服务器中处理AJAX跨域请求的配置方法讲解
- 用反向代理nginx proxy_pass配置解决ie8 ajax请求被拦截问题 ie8用nginx代理实现跨域请求访问 nginx405正向代理request_uri
- python实现的json数据以HTTP GET,POST,PUT,DELETE方式页面请求
- nginx 指定多个域名跨域请求配置
- RESTful中GET,POST,PUT,DELETE这么多的请求方式,到底该怎么用才合适呢?
- Ajax 跨域请求 配置解决方法 tomcat weblogic适用
- Ajax中Put和Delete请求传递参数无效的解决方法(Restful风格
- 解决DELETE PUT请求方式无法提交表单数据的问题
- 解决Ajax中Restful风格PUT和DELETE请求传递参数无效
- ajax参数传递之[HttpGet]/[HttpPost]/[HttpPut]/[HttpDelete]请求
- Http请求访问方式 GET PUT POST DELETE
- 使用Nginx 反向代理来避免 ajax 跨域请求的方法
- Nginx配置跨域请求 Access-Control-Allow-Origin *
- nginx实现ajax跨域请求
- Http四种请求方式:post ,get ,put,delete
- nginx安装配置启动,把前端的请求一部分转发到本地,ajax请求转发到服务器。
- springmvc将post请求转化成delete和put,所需要进行的配置