首页 > 代码库 > angular跨域问题
angular跨域问题
经过各种尝试,angular的$post 无法获得服务端响应,服务端参数进不去。
var login = angular.module(‘login‘,[]); login.controller(‘loginctr‘,function($scope,$http){ $scope.submit = function(){ $http({ method:‘POST‘, url:‘‘, data: {"username":"admin","password":"admin"} }).then( function(e){ console.log(e) }, function(e){ console.log(e) } ) } })
使用JQuery可以获得返回值
$(function(){ $.ajax({ type:"post", dataType: ‘text‘, url: "", data:{"username":"admein","password":"admin"}, success : function(data){ console.log(data) //var a = eval(data); //console.log(a[3]) }, error : function(e){ console.log(e) } }); })
网上资料很多,先后尝试在JAVA服务端头部加入
response.setHeader("Access-Control-Allow-Origin", "*"); //允许所有域名访问
还是不可以,报错仍然为跨域问题。
再在angular中配置config的$httpProvider
因为说JQuery post的数据格式是字符串,angular post的数据格式为json,是格式问题。
配置解读地址 http://www.aichengxu.com/javascript/2444602.htm
配置后仍无法解决该问题。
最后尝试将 angular里的data参数改为params,可以正常接收服务端响应,算是解决问题。
根据Angular官方文档,加上params可以参数就可以转换成key1=value1&key2=value2格式,和jQuery传递的数据格式(请求前也会将json数据序列化)一样了
angular跨域问题
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。