angular的跨域请求

前端之家收集整理的这篇文章主要介绍了angular的跨域请求前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

get请求

1,jsonp跨域

<script>
		angular.module("myApp",[])
	.controller("myCtrl",['$scope','$http',function($scope,$http){
	$http.get('http://lolapi.games-cube.com/champion?callback=JSON_CALLBACK',{headers:{"DAIWAN-API-TOKEN":"C37EA-3B332-C2E3A-7A1FB"}}).then(function(data){
		console.log(data);
	})
	}]);
</script>

这让我联想到曾今在面试的时候,面试官问的一个问题:“为什么jsonp的跨域请求并不是真正的ajax?”这是为什么呢?其实我是这样理解的,jsonp跨域请求的是服务器后台的callback函数接口,后台通过callback函数把数据包裹着传送过来,这个过程并没有发起ajax请求(ajax请求,会走五步:0,new XMLHttpRequst;1,open();2,send();3,onreadystatusChange();4,完成),所以说jsonp的跨域请求并不是真正的ajax。纯属个人见解,如有错误请指正。

对比jq的ajax跨域:

$.ajax({
cache:true,//是否缓存
url:"请求的地址",type:"GET",dataType:"JSONP",asyn:true,//是否异步true:异步false:同步
data:{
name:"XXX"
}//添加到地址栏中后面的数据
})

2、post和get请求类似

猜你在找的Angularjs相关文章