AnugularJS 的跨域

* 1.什么是跨域?
*   不同域名之间进行访问。
* 2.同源策略?
*   协议,主机地址,端口都一致。
*   http://localhost:8080/index
*   http://www.baidu.com
*   http://www.sina.cn
*
* 3.是谁造成了跨域?
*   是浏览器造成的跨域。
* 4.为什么会有跨域?
*   为了数据的安全。
*
* 5.你在开发当中是如何解决跨域问题?
*   jsonp解决跨域
*   往浏览器当中安装插件
*
* 5.jsonp与Ajax有关系嘛?
*   Ajax它是javascipt提供的方法,进行数据的请求。使用它,请求数据时,跨域时,拿到不数据。
*   解决跨域的一种方案。
*
* 6.jsonp原理是怎么做的?
*
*   借助标签的src属性进行数据请求。
*   1.使用src,请求数据
*     <script src="http://datainfo.duapp.com/shopdata/getGoods.php?callback=callback">
*   2.在本地声明一个方法
*      function callback(args) {
            console.log(args);
        }
    3。要在服务端要处理跨域
        $res = $_GET['callback'];
        echo $res."('我是服务的数据')";
*
* */
<script  src=""></script>
这种引用方式引用的代码会被浏览器直接执行

通过 php 桥接跨域

实际上并非跨域,用 Php 文件引入进来,同源下执行 Php 文件,所以并非跨域

$http 跨域

app.controller('myController',['$scope','$http',function($scope,$http){
        $http({
              url:'www.xxx.xx',
              method:'get',
              params:{
                      callback:'JSON_CALLBACK'
              }
        })
}])

angularJS 内部帮助做了两件事

  • 创建了一个名为 callback 的函数 function callback(){}
  • 并且使用 <script src=''></script> 方式请求数据会以get方式传递一个参数?callback=callback
  • 后台会处理这个传过来的 callback 拼接之后以 callback 函数的参数形式传递出去
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 由于浏览器的同源策略保护机制,浏览器不能执行来自其他来源的脚本。通过js在不同的域之间进行数据传输或通信,比如用a...
    威少_吴阅读 1,404评论 0 2
  • 跨域以及跨域的几种方式 讲解跨域之前我们先来看看什么是同源策略 什么是同源策略 通常来说,浏览器出于安全方面的考虑...
    尾巴尾巴尾巴阅读 1,628评论 0 1
  • AJAX 原生js操作ajax 1.创建XMLHttpRequest对象 var xhr = new XMLHtt...
    碧玉含香阅读 3,298评论 0 7
  • 1.什么是同源策略 1.要了解同源策略,我们必须先知道源即orgin 以百度页面为例,谷歌浏览器打开控制台:输入l...
    GarenWang阅读 1,477评论 2 8
  • 9月16日,我参加滑县第一届滑县班主任论坛。滑县教体局马局长激情满怀地做了重要讲话,再次提出自主,...
    石榴slr阅读 713评论 0 3