资讯专栏INFORMATION COLUMN

safari浏览器调用nodejs接口,报Access-Control-Allow-Origin问题

seasonley / 2376人阅读

摘要:服务器接口已开启允许跨域访问权限以上配置,通过用谷歌火狐等浏览器方式调用没有任何问题,但用浏览器调用报解决方案修改中接口中方法,直接将结果返回,不加任何参数,即可解决此问题以前的方法修改后的方法将方法中的参数去掉,

nodejs服务器接口已开启允许跨域访问权限
javascriptres.setHeader("Access-Control-Allow-Origin","*");
res.setHeader("Access-Control-Allow-Headers","Content-Type,Accept,Authorization");
res.setHeader("Access-Control-Allow-Methods","GET,POST,PUT,UPDATE,DELETE");

以上配置,通过js用谷歌、火狐、等浏览器ajax方式调用没有任何问题,但用safari浏览器调用报

javascript[Error] XMLHttpRequest cannot load http://127.0.0.1:3000/travel/i/2. Origin http://127.0.0.1:8020 is not allowed by Access-Control-Allow-Origin. (travel_info.html, line 0)
解决方案

修改nodejs中接口中res.json()方法 ,直接将结果返回,不加任何参数,即可解决此问题
以前的方法:

javascriptContent.get(id, function (err, row) {
    if(err) {
        console.log(err);
    }
    res.json("json", row);
});

修改后的方法:

javascriptContent.get(id, function (err, row) {
    if(err) {
        console.log(err);
    }
    res.json(row);
});

将res.json()方法中的参数去掉,直接返回查询结果 ,即可解决safari浏览器调用接口报Access-Control-Allow-Origin问题

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/85745.html

相关文章

  • 猫头鹰的深夜翻译:从1000+JS项目中汇总的10个最容易出现的错误(以及如何解决)

    摘要:常出现的错误前十位为了可读性,错误名称进行了一定的简写。让我们深入了解每个错误发生的原因以及解决方法。这个问题很容易解决。当未捕获的错误跨越违法跨域策略的域边界时,会发生脚本错误。这是当你在中试图调用的方法时出现的错误。 JavaScript常出现的错误前十位 showImg(https://segmentfault.com/img/bV3Z1z?w=1116&h=691); 为了可读...

    eccozhou 评论0 收藏0
  • 大话javascript 5期:跨域

    摘要:同源策略所谓同源是指协议,域名,端口均相同。同源策略是浏览器的一个安全功能,不同源的客户端脚本在没有明确授权的情况下,不能读写对方资源。需注意的是由于同源策略的限制,所读取的为跨域请求接口所在域的,而非当前页。 一、什么是跨域 1.URL解析 URL (Uniform Resource Locator )统一资源定位符(URL)是用于完整地描述Internet上网页和其他资源的地址的...

    jzzlee 评论0 收藏0
  • 前端常见跨域解决方案(全)

    摘要:需注意的是由于同源策略的限制,所读取的为跨域请求接口所在域的,而非当前页。目前,所有浏览器都支持该功能需要使用对象来支持,也已经成为主流的跨域解决方案。反向代理接口跨域跨域原理同源策略是浏览器的安全策略,不是协议的一部分。 什么是跨域? 跨域是指一个域下的文档或脚本试图去请求另一个域下的资源,这里跨域是广义的。 广义的跨域: 1.) 资源跳转: A链接、重定向、表单提交 2.) 资源...

    canger 评论0 收藏0
  • 探讨一下常见的跨域问题

    摘要:所以那只好用方法二了,方法二到底是什么呢就是在服务端做手脚,操作起来也很简单,就是服务端在接口的时候加上如下的就可以解决跨域问题了。 相信很多童鞋在刚接触前后端分离的时候都会遇到跨域问题,那么跨域问题是怎么产生的呢??怎么来解决跨域问题呢??我们闲话少说,接下来给大家做一波分析。 首先来看一下跨域问题的产生的原因,其实跨域是浏览器出于安全方面考虑作出的限制,如果不在同一域名下访问接口的...

    tulayang 评论0 收藏0
  • 探讨一下常见的跨域问题

    摘要:所以那只好用方法二了,方法二到底是什么呢就是在服务端做手脚,操作起来也很简单,就是服务端在接口的时候加上如下的就可以解决跨域问题了。 相信很多童鞋在刚接触前后端分离的时候都会遇到跨域问题,那么跨域问题是怎么产生的呢??怎么来解决跨域问题呢??我们闲话少说,接下来给大家做一波分析。 首先来看一下跨域问题的产生的原因,其实跨域是浏览器出于安全方面考虑作出的限制,如果不在同一域名下访问接口的...

    PAMPANG 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<