不诉薄凉

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理
  39 随笔 :: 0 文章 :: 15 评论 :: 47万 阅读

什么叫跨域呢。比如a.a.com/a.jsp 这里有个jsp访问b.b.com/b.servlet,a通过ajax访问b数据能传输,也能获取,但是异步回调时不会执行,会出现如下报错,这就是跨域导致的回调失效。

image.png
XMLHttpRequest cannot load http://a.a.com/A/UserFromServlet.No Access-Control-Allow-Origin header is present on the requested resource.Origin http://b.b.com is therefore not allowed access.

跨域问题解决方案大致有4种

1.在响应头中设置运行跨域---这简单的 小企业用的多 接口这里加入 resp.setHeader("Access-Control-Allow-Origin","*"); ☆☆☆☆☆

image.png

2.jsonp 但是jsonp有缺点,只能发送get请求,即使ajax使用post请求也会自动转换成get请求 限制比较大,用的少,而且前端后台都要改,感觉不实用 ×××××

前端操作

image.png

后台的代码,后台这里也应该使用doGet。

image.png

3.搭建网关系统,其实就是用nginx做代理解决跨域问题,可以参考

nginx配置和安装 中第七点 建议使用 ☆☆☆☆☆

4.使用后台服务转发(通过后台httpclient访问另外个后台接口拿到数据在传到前端) 不推荐使用,等于调用2次接口,性能消耗很多 ×××××

 

原文链接:http://www.jianshu.com/p/da1d4dcfbd8c

 


关注我的公众号,都是满满的干货!
posted on   zhuyuansj  阅读(282)  评论(0编辑  收藏  举报
编辑推荐:
· 如何在 .NET 中 使用 ANTLR4
· 后端思维之高并发处理方案
· 理解Rust引用及其生命周期标识(下)
· 从二进制到误差:逐行拆解C语言浮点运算中的4008175468544之谜
· .NET制作智能桌面机器人:结合BotSharp智能体框架开发语音交互
阅读排行:
· Cursor预测程序员行业倒计时:CTO应做好50%裁员计划
· 想让你多爱自己一些的开源计时器
· 大模型 Token 究竟是啥:图解大模型Token
· 用99元买的服务器搭一套CI/CD系统
· 如何在 .NET 中 使用 ANTLR4
点击右上角即可分享
微信分享提示