首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

通过配置nginx支持客户端ajax跨域请求

nginx反向代理添加配置支持ajax跨域访问

今天折腾个问题折腾了半天,所以记录下,也分享给各位有需要的朋友。很抱歉,最近比较忙,事情多,所以没时间写文章。

1

首先配置nginx,在server中添加反向代理对跨域的支持,即在location / {}中添加:

add_headerAccess-Control-Allow-Origin域名(注意,要带上http);

如果你不要支持ajax获取cookie并在请求时自动带上cookie,那么这里可以配置为*,即支持所以其它域名跨域访问。

add_headerAccess-Control-Allow-Credentialstrue;

设置该项可支持ajax可获取到cookie。

add_headerAccess-Control-Allow-MethodsGET或者POST请求;

声明跨域支持的请求方法,可以是get,post或是组合。

举例:

2

修改ajax请求时自动加上cookie,xhrFields:

此时如果项目时上传到nginx配置Access-Control-Allow-Origin所指定的域名服务器时,那么运行是没问题的,但如果你是在本地开发调试,那么浏览器就会报错了。别急,往下就是我自己想出来的解决办法。

3

因为我的电脑是mac系统的,所以我只说msc上的做法,windows同理。打开终端,输入vim /etc/hosts 在文件末尾添加一条dns解析:127.0.0.1 nginx配置支持跨域的域名,写完后保存退出,同时浏览器中把127.0.0.1改为该域名就可以了。

查看调试结果:

关注我们

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180511G04IWL00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券