recherche

Maison  >  Questions et réponses  >  le corps du texte

javascript - S'il vous plaît, aidez, angulairejs. Je peux demander des données json mais cela signale un problème inter-domaines. Je peux ouvrir le lien json qui m'a été fourni par le backend.

// initialisation angulairejs 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);
            })
        }
    }
});
伊谢尔伦伊谢尔伦2857 Il y a quelques jours336

répondre à tous(5)je répondrai

  • 阿神

    阿神2017-05-16 13:01:40

    Modifier le service en

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

    Lorsque j'appelle

     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)
     })

    répondre
    0
  • 淡淡烟草味

    淡淡烟草味2017-05-16 13:01:40

    Autoriser les pannes de domaine via les paramètres du serveur (le serveur sur lequel se trouvent les fichiers frontaux)
    Par exemple, nginx est défini comme suit

    if ($request_method = 'OPTIONS') {

    add_header Access-Control-Allow-Origin *; 
    add_header Access-Control-Allow-Methods GET,POST,PUT,DELETE,OPTIONS;
    #其他头部信息配置,省略...
    return 204; 

    }

    D'autres serveurs Web ou langages back-end tels que php ont des méthodes de configuration, vérifiez les éléments de configuration suivants

    Contrôle d'accès-Autoriser-Origine

    répondre
    0
  • phpcn_u1582

    phpcn_u15822017-05-16 13:01:40

    Laissez le backend ajouter un filtre de même origine

    resp.setHeader("Access-Control-Allow-Origin", "*");  
    chain.doFilter(req, resp);

    répondre
    0
  • 伊谢尔伦

    伊谢尔伦2017-05-16 13:01:40

    J'ai téléchargé un serveur local. Mon entreprise dispose d'un serveur local, je ne sais pas si cela l'affectera ;

    répondre
    0
  • 伊谢尔伦

    伊谢尔伦2017-05-16 13:01:40

    extension chrome://nlfbmbojpeacfghkpbjhddihlkkiljbi/options.html

    Utilisez l'outil proxy de téléchargement Chrome

    Ensuite, configurez simplement l'adresse de votre serveur. C'est ce que j'ai fait. Je suis trop paresseux pour gérer le backend

    .

    répondre
    0
  • Annulerrépondre