javascript - 求救啊,angularjs 我能请求到json数据但是报跨域问题,后端给我的json链接我能打的开,下面是我的请求文件

查看:104
本文介绍了javascript - 求救啊,angularjs 我能请求到json数据但是报跨域问题,后端给我的json链接我能打的开,下面是我的请求文件的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

// angularjs 初始化 ng-app="myApp"

var app = angular.module('myApp',[]);
app.controller('myCtrl',function($scope,httpService){
    var obj = {
        'v' : 1,
        'prod_id' : 10,
        't' : 0.6861832864488719,
        'query' : print
    };
    httpService.postDatas('http://sys.hannikang.com/prod/process/prod.ashx?v=1&prod_id=10&t=0.6861832864488719&query=print',obj,function(data){
        console.log(data);
        $scope.names = data;
    })
});
app.service("httpService", function ($http) {
    return {
        getDatas: function (url, obj1, succCallBack, errorCallBack) {
            return $http({
                method: "GET",
                url: url,
                params: obj1 || {}
            }).success(function (data) {
                succCallBack && succCallBack(data);
            }).error(function (data) {
                errorCallBack && errorCallBack(data);
            })
        },
        postDatas: function (url, obj1, succCallBack, errorCallBack) {
            return $http({
                method: "POST",
                url: 'http://sys.hannikang.com/prod/process/prod.ashx?v=1&prod_id=10&t=0.6861832864488719&query=print',
                data: obj1 || {},
                headers: {'Content-Type': 'application/x-www-form-urlencoded'},
                transformRequest: function (obj) {
                    var str = [];
                    for (var p in obj) {
                        str.push(encodeURIComponent(p) + "=" + encodeURIComponent(obj[p]));
                    }
                    return str.join("&");
                }
            }).success(function (data) {
                succCallBack && succCallBack(data);
            }).error(function (data) {
                errorCallBack && errorCallBack(data);
            })
        }
    }
});

解决方案

修改service为

getDatas: function (url, obj) {
            return $http({
                method: "GET",
                url: url,
                params: obj || {}
            })
            })
        

调用时

 httpService.postDatas('http://sys.hannikang.com/prod/process/prod.ashx?v=1&prod_id=10&t=0.6861832864488719&query=print',obj={})
 .then(function(data){
 console.log(data)
 })

这篇关于javascript - 求救啊,angularjs 我能请求到json数据但是报跨域问题,后端给我的json链接我能打的开,下面是我的请求文件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆