ajax跨域的问题

图片描述

这样写有什么错误 怎么跨域

阅读 4.5k
10 个回答

图呢?图呢?图呢?


跨域改用 JSONP 方式吧。

图呢?图呢?图呢?

图呢?图呢?图呢?

图呢?图呢?图呢?

你这问的。。。。

1.代理
2.XHR2
3.jsonP

服务器设置头部后XHR2可以跨

add_header 'Access-Control-Allow-Origin' '*' always;

不能设置服务器的话就jsonp吧

http://m.toutiao.com/i6342789...

可以参考下这个文档,你让后台服务器端设置response的head
前端ajax配置 
xhrFields:{withCredentials: true},
crossDomain:true,

题主你好,
我没有深度接触过jquery,只能依据自己经验给你一定的启发,权当抛砖引玉,有错漏之处亦欢迎各路大神批评指正


首先:对于前后端数据对接,跨域问题只存在于前后端分离,前端与后端不在同一服务器,此时会涉及到浏览器同源策略,这个题主可以参考,浏览器的同源策略 - Web 安全 | MDN or 什么是同源策略 - 掘金 or 同源策略_百度百科 这三个介绍的都比较详细,此处因篇幅所限不予赘述
而跨域解决有前端解决与后端解决两种方式【不过据我所知以后端解决为主】,技术我知道的有cors、jsonp、代理服务器三种


cors技术只能后端解决:后端使用cors技术解决跨域,基本原理就是按照相应规则【html文档中指定了】在响应头中添加指定内容【不过后期如果使用是springboot,可以直接使用内置注解解决】,需要注意的是这个方式彻底解决了跨域问题,凡是加了这个响应头的数据都可以不受同源策略所限,在公司存在一定隐患,使用需要小心谨慎

jsonp是利用了<script>标签的 src 属性可以加载跨域的 JavaScript 脚本 这一特性,具体可见JSONP是什么? ,由于需要前后端配合,目前该技术很少用到

代理服务器,该技术可以前端实现,亦可以使用nginx。基本原理是利用 同源策略仅影响浏览器到服务器,服务器本身不受同源策略限制 原理,代理服务器域名、端口号、协议与浏览器均一致,代理服务器收到浏览器信息后再转发到业务服务器,个人感觉可以理解为中间人模式。nginx本人目前没有接触,如果有大佬欢迎补充
以上
补充一点,在原生html-css-js及jquery中常使用ajax请求发送数据,在框架中常使用axios等第三方框架

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题