前言

最近在采用jquery ajax调用http请求时,发现了一系列问题:
如采用firebug调试API请求(这个API是自己服务器的应用),看到服务器明明返回200状态,response返回数据也是json格式,但ajax返回的error。
在排除json数据格式不正确的原因之后,发现了ajax error函数返回“networkerror failed to execute ‘send' on ‘xmlhttprequest' failed to load ‘http //“ XMLHttpRequest.status=0,就是没有初始化。
后来才知道是跨域问题(CORS),因为程序调用的是远程服务器的API,服务器不允许跨域调用。如果只是简单的方法,只需要在程序的response添加支持跨域的header添加属性”Access-Control-Allow-Origin: * “即可。
如java 服务器代码:
yourownvariable.setHeader("Access-Control-Allow-Origin:", "origin url of your site");
yourownvariable.setHeader("Access-Control-Allow-Methods", "GET, POST,PUT");
如果是配置nginx服务器(如果是其他服务器,可以参考:I want to add CORS support to my server),需要在nginx.conf配置文件添加一下内容:
#
# Wide-open CORS config for nginx
#
location / {
if ($request_method = 'OPTIONS') {
add_header 'Access-Control-Allow-Origin' '*';
add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS';
#
# Custom headers and headers various browsers *should* be OK with but aren't
#
add_header 'Access-Control-Allow-Headers' 'DNT,X-CustomHeader,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Content-Range,Range';
#
# Tell client that this pre-flight info is valid for 20 days
#
add_header 'Access-Control-Max-Age' 1728000;
add_header 'Content-Type' 'text/plain charset=UTF-8';
add_header 'Content-Length' 0;
return 204;
}
if ($request_method = 'POST') {
add_header 'Access-Control-Allow-Origin' '*';
add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS';
add_header 'Access-Control-Allow-Headers' 'DNT,X-CustomHeader,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Content-Range,Range';
add_header 'Access-Control-Expose-Headers' 'DNT,X-CustomHeader,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Content-Range,Range';
}
if ($request_method = 'GET') {
add_header 'Access-Control-Allow-Origin' '*';
add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS';
add_header 'Access-Control-Allow-Headers' 'DNT,X-CustomHeader,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Content-Range,Range';
add_header 'Access-Control-Expose-Headers' 'DNT,X-CustomHeader,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Content-Range,Range';
}
}
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对的支持。
# java
# api
# nginx服务器
# nginx跨域配置
# nginx
# api服务器
# Nginx跨域使用字体文件的配置方法
# nginx服务器配置解决ajax的跨域问题
# Nginx配置跨域请求Access-Control-Allow-Origin * 详解
# nginx 配置跨域失效修复的方法示例
# 通过Nginx代理转发配置实现跨域的方法(API代理转发)
# nginx配置解决跨域访问的方法详解
# ubuntu nginx安装及服务配置跨域问题处理方式
# Nginx 跨域配置的具体实现
# Nginx 配置跨域的实现及常见问题解决
# 的是
# 发现了
# 只需
# 要在
# 才知道
# 这篇文章
# 谢谢大家
# 不正确
# 配置文件
# 数据格式
# 有疑问
# header
# code
# 是跨域
# status
# CORS
# Access
# yourownvariable
# plain
# setHeader
相关文章:
北京专业网站制作设计师招聘,北京白云观官方网站?
h5在线制作网站电脑版下载,h5网页制作软件?
如何通过老薛主机一键快速建站?
建站中国必看指南:CMS建站系统+手机网站搭建核心技巧解析
如何零基础在云服务器搭建WordPress站点?
家庭建站与云服务器建站,如何选择更优?
北京制作网站的公司排名,北京三快科技有限公司是做什么?北京三快科技?
行程制作网站有哪些,第三方机票电子行程单怎么开?
手机网站制作平台,手机靓号代理商怎么制作属于自己的手机靓号网站?
*服务器网站为何频现安全漏洞?
文字头像制作网站推荐软件,醒图能自动配文字吗?
武清网站制作公司,天津武清个人营业执照注销查询系统网站?
企业网站制作公司网页,推荐几家专业的天津网站制作公司?
如何在Golang中使用encoding/gob序列化对象_存储和传输数据
官网网站制作腾讯审核要多久,联想路由器newifi官网
如何选择网络建站服务器?高效建站必看指南
常州自助建站:操作简便模板丰富,企业个人快速搭建网站
建站之星×万网:智能建站系统+自助建站平台一键生成
青浦网站制作公司有哪些,苹果官网发货地是哪里?
微信h5制作网站有哪些,免费微信H5页面制作工具?
网站制作中优化长尾关键字挖掘的技巧,建一个视频网站需要多少钱?
青岛网站建设如何选择本地服务器?
网站好制作吗知乎,网站开发好学吗?有什么技巧?
网站制作模板下载什么软件,ppt模板免费下载网站?
美食网站链接制作教程视频,哪个教做美食的网站比较专业点?
小捣蛋自助建站系统:数据分析与安全设置双核驱动网站优化
高端建站如何打造兼具美学与转化的品牌官网?
网站制作公司,橙子建站是合法的吗?
建站主机选虚拟主机还是云服务器更好?
b2c电商网站制作流程,b2c水平综合的电商平台?
网站制作软件免费下载安装,有哪些免费下载的软件网站?
合肥做个网站多少钱,合肥本地有没有比较靠谱的交友平台?
如何零基础开发自助建站系统?完整教程解析
寿县云建站:智能SEO优化与多行业模板快速上线指南
官网自助建站系统:SEO优化+多语言支持,快速搭建专业网站
如何在橙子建站中快速调整背景颜色?
建站主机选择指南:服务器配置与SEO优化实战技巧
宝塔新建站点报错如何解决?
品牌网站制作公司有哪些,买正品品牌一般去哪个网站买?
香港服务器部署网站为何提示未备案?
北京建设网站制作公司,北京古代建筑博物馆预约官网?
如何在Windows环境下新建FTP站点并设置权限?
车管所网站制作流程,交警当场开简易程序处罚决定书,在交警网站查询不到怎么办?
简易网站制作视频教程,使用记事本编写一个简单的网页html文件?
如何在服务器上配置二级域名建站?
手机网站制作与建设方案,手机网站如何建设?
小说建站VPS选用指南:性能对比、配置优化与建站方案解析
C++如何编写函数模板?(泛型编程入门)
建站之星会员如何解锁更多建站功能?
外贸公司网站制作,外贸网站建设一般有哪些步骤?
*请认真填写需求信息,我们会在24小时内与您取得联系。