首页 新闻 搜索 专区 学院

AngularJS

0
[已解决问题] 解决于 2016-12-02 11:05

最近在看AngularJS,但是在实现$http请求一个接口获取数据时总是出现跨域的问题,

就是这样的,我应该怎么整?是在我写的AngularJS中添加允许跨域的问题还是我需要修改后台的接口那?我后台就是简单的使用MVC写的一个返回的json串而已。希望能够解决,谢谢亲们,知道的告诉我一下。。。

 

雪?的主页 雪? | 菜鸟二级 | 园豆:209
提问于:2015-11-16 10:30
< >
分享
最佳答案
0

我说一下我的思路吧:首先你肯定是理解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;  
    });  

 

 

咦~ 怎么没有豆子呢,写完了才发现~

奖励园豆:5
一起走过的日子…… | 菜鸟二级 |园豆:236 | 2015-11-16 10:50

雪? | 园豆:209 (菜鸟二级) | 2015-11-16 16:11

嘿嘿 谢谢亲哈 之前没接触过jsonp 忘记啦给  你看下我的这个为什么不行那

雪? | 园豆:209 (菜鸟二级) | 2015-11-16 16:12

@雪?: 

其实jsonp很简单,我这里有一篇详细说明jsonp的文章:

http://www.cnblogs.com/goesby/p/4618263.html

你这个是mvc返回的是一个对象。至少得是一个json字符串,前端才能使用吧

一起走过的日子…… | 园豆:236 (菜鸟二级) | 2015-11-16 16:29
其他回答(1)
0

最简单的方式还是使用CORS,这个只需要在后端配置一下就可以。

http://www.asp.net/web-api/overview/security/enabling-cross-origin-requests-in-web-api

幻天芒 | 园豆:36594 (高人七级) | 2015-11-17 09:34
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册