加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ajax跨域问题及相关解决方案

发布时间:2020-12-16 03:02:23 所属栏目:百科 来源:网络整理
导读:1 什么是跨域 所谓的跨域是指浏览器不能执行其他网站的脚本。它是由浏览器的同源策略造成的,是浏览器施加的安全限制。 所谓同源是指,域名,协议,端口均相同; 2 什么时候会存在跨域的问题 页面访问不同源的脚本接口数据等,如我们平时前端页面先后台发起

1 什么是跨域

所谓的跨域是指浏览器不能执行其他网站的脚本。它是由浏览器的同源策略造成的,是浏览器施加的安全限制。

所谓同源是指,域名,协议,端口均相同;

2 什么时候会存在跨域的问题

页面访问不同源的脚本接口数据等,如我们平时前端页面先后台发起的请求时就会造成跨域的问题,跨域问题是针对xhr请求的

3 Ajax 无论原生还是jquery的$.ajax或angular的$http等都是利用XMLHttpRequest(下简称XHR)对象,就一定存在跨域的问题

Ajax:“Asynchronous JavaScript and XML”,翻译过来就是异步JavaScript和XML。

Ajax是一种用于创建快速动态网页的技术,通过在后台与服务器进行少量数据交换,AJAX可以使网页实现异步更新。

意味这可以再不重新加载整个网页的情况下,对网页的某部分进行更新。

4如何解决跨域的问题

方案一 :利用ajax自身带的jsonp请求
方案二:利用node做js 和 后台 的中间层 利用node无跨越限制将接口数据从后台请求来,在利用js的ajax同源调用自己的node接口,这样就解决了跨域的问题;此处代码不详细介绍了;
方案三:利用nginx,不仅可以做静态服务器,还可以通过请求代理解决跨域的问题;
       #nginx 配置
       #项目页面
        location /appliance{
            alias   /work/项目文件名/dist;  
            autoindex on;
            #一般dist下面存在index.html文件,否则不用上面的而用下面的
            index   name.html;
        }
        #项目接口
        location /interfaceName/{
           proxy_pass  http://域名/interfaceName/;
          #或者用下面的本机ip进行与后台的本地调试  
          #  proxy_pass http://本机IP地址/interfaceName/;
        }

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读