recherche

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

angulaire.js - angulairejs $http.get ne peut pas traverser le problème de domaine

Une méthode $http.get très simple pour demander des données à l'interface. Mais je ne sais tout simplement pas pourquoi, et il continue de dire qu’il ne peut pas traverser de domaine. Comment le résoudre ? (PS : après avoir ajouté API_HOST_URL à une autre page, la valeur de la publication va vers ce chemin et aucune erreur inter-domaines n'est signalée, mais la même copie ne fonctionne pas sous la méthode get)

function togetpNo($scope,$http){
    var array=$scope.array;
    $http.get(API_HOST_URL+'/ss/test.do?pNo='+array)
     .success(function(data){
 alert(data);
 }).error(function(e){
 alert('请求失败了');
 })
}

Contenu de l'erreur :
XMLHttpRequest ne peut pas charger http://datatest.dev:8081/ss/test.do?pNo=h01,h02. Aucun en-tête 'Access-Control-Allow-Origin' n'est présent sur la ressource demandée. Origin 'http://localhost:8080' n'est donc pas autorisé à accéder.

Modifié pour écrire en utilisant jsonp :

 $http.jsonp(API_HOST_URL+"/ss/test.do?jsonp=JSON_CALLBACK&pNo="+array)

Erreur : Erreur de syntaxe non interceptée : Jeton inattendu :

phpcn_u1582phpcn_u15822787 Il y a quelques jours672

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

  • 给我你的怀抱

    给我你的怀抱2017-05-15 16:53:47

    1) Le cross-domain n'a rien à voir avec le type de framework utilisé,
    (PS : après avoir ajouté API_HOST_URL à une autre page, la valeur de la publication va vers ce chemin, et aucune erreur inter-domaine est signalé, mais pareil Copiez-le, mais cela ne fonctionne pas dans la méthode get) Une autre page est-elle dans le même domaine que votre page Le même problème lors de l'utilisation de get ? /jsonp sur une autre page ?
    2) Après avoir utilisé JSONP, veuillez vérifier si le contenu des données renvoyées répond aux exigences du format json. Sinon, une erreur similaire sera signalée
    . SyntaxError non capturé : jeton inattendu :

    répondre
    0
  • 高洛峰

    高洛峰2017-05-15 16:53:47

    Vous devrez peut-être ajouter des en-têtes :

    app.all('*', function (req, res, next) {
        res.header("Access-Control-Allow-Origin", "*");
        res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept");
        res.header("Access-Control-Allow-Methods", "PUT,POST,GET,DELETE,OPTIONS");
        res.header("X-Powered-By", ' 3.2.1');
        res.header("Content-Type", "application/json;charset=utf-8");
        next();
    });
    

    répondre
    0
  • PHP中文网

    PHP中文网2017-05-15 16:53:47

    Si vous souhaitez effectuer une inter-domaine, jsonp est préféré, puis assurez-vous que le serveur le renvoie dans le format de syntaxe js normal
    Par exemple, la valeur de retour est :
    var test = {"status":1,"data":5};

    répondre
    0
  • Annulerrépondre