码迷,mamicode.com
首页 > 其他好文 > 详细

angular跨域问题

时间:2017-04-27 12:36:42      阅读:183      评论:0      收藏:0      [点我收藏+]

标签:允许   报错   返回值   data   text   angular   接收   .com   http   

经过各种尝试,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跨域问题

标签:允许   报错   返回值   data   text   angular   接收   .com   http   

原文地址:http://www.cnblogs.com/jojoray/p/6773514.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!