最近在看AngularJS,但是在实现$http请求一个接口获取数据时总是出现跨域的问题,
我说一下我的思路吧:首先你肯定是理解jsonp的跨域原理的,我这里就不多说了,我想说的是,$http已经跟我们继承了jsonp的跨域的服务jsonp():
$http.jsonp("http://localhost/sitesettings/getBadgeInfo.pt?jsonp=JSON_CALLBACK&siteid=137bd406").success(function(data){ ... });
看这段代码就不难理解了。
还有一种方式:
$http.post()
$http.post('http://localhost/ajax/getAllIndustryCategoty.pt',{languageColumn:'name_eu'},{'Content-Type':'application/x-www-form-urlencoded'}).success(function(data){ $scope.industries = data; });
当然,怎么能忘了$http.get方式呢
$http.post('http://localhost/ajax/getAllIndustryCategoty.pt',{languageColumn:'name_eu'},{'Content-Type':'application/x-www-form-urlencoded'}).success(function(data){ $scope.industries = data; });
咦~ 怎么没有豆子呢,写完了才发现~
嘿嘿 谢谢亲哈 之前没接触过jsonp 忘记啦给 你看下我的这个为什么不行那
@雪?:
其实jsonp很简单,我这里有一篇详细说明jsonp的文章:
http://www.cnblogs.com/goesby/p/4618263.html
你这个是mvc返回的是一个对象。至少得是一个json字符串,前端才能使用吧
最简单的方式还是使用CORS,这个只需要在后端配置一下就可以。
http://www.asp.net/web-api/overview/security/enabling-cross-origin-requests-in-web-api