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

Ajax处理跨域方式

发布时间:2020-12-16 01:48:39 所属栏目:百科 来源:网络整理
导读:处理跨域方法一——代理 通过在同域名的web服务器端创建一个代理 北京服务器(域名:www.beijing.com) 上海服务器(域名:www.shanghai.com) 比如在北京的web服务器的后台 (www.beijing.com/proxy-shanghaiservice.php) 来调用上海服务器 (www.shanghai

处理跨域方法一——代理

  • 通过在同域名的web服务器端创建一个代理
  • 北京服务器(域名:www.beijing.com)
    上海服务器(域名:www.shanghai.com)

  • 比如在北京的web服务器的后台
    (www.beijing.com/proxy-shanghaiservice.php)
    来调用上海服务器
    (www.shanghai.com/service.php)
    的服务,然后再把响应结果返回给前端,这样前端调用北京同域名的服务就和调用上海的服务效果相同了。

处理跨域方法二——JSONP

JSONP可用于解决主流浏览器的跨域数据访问的问题。(get)
在www.aaa.com页面中:

<script> function jsonp(json){ alert("json["name"]"); } </script>
<script src="http://www.bbb.com/jsonp.js"></script>

在www.bbb.com页面中:

jsonp({'name':'洪七''age':24});

JQuery中

$.ajax({
    type:"GET",url:"",dataType:"jsonp",jsonp:"callback",success:function(data){},error:function(jqXHR){}
});

处理跨域方法三——XHR2

  • HTML5提供的XHLHttpRequest Level2已经实现了跨域访问以及其他的一些新功能
  • IE10以下的版本都不支持
  • 在服务器端做一些小小的改造即可:
<?php
header('Access-Control-Allow-Origin:*');
header('Access-Control;-Allow-Methods:POST,GET');
>

来源:慕课网《Ajax全接触》第6章

(编辑:李大同)

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

    推荐文章
      热点阅读