J'ai une page simple qui est servie par l'application AngulraJs. La page a div avec une valeur de Test.
<div id="test">Test</div>
Mon but est de lire cette valeur de localhost. Fondamentalement, j'écris un plugin pour une application. Cette application est une application de bureau qui a son propre serveur web intégré et les plugins sont écrits en javascript. Mon but est de lire la valeur du test. Le problème auquel je suis confronté est que je suis empêché par CORS.
De tout ce que j'ai lu (et j'ai beaucoup lu), je dois ajouter l'en-tête Access-Control-Allow-Origin
pour que cela fonctionne. Quel est mon problème, comment puis-je ajouter un en-tête avec js angulaire pour une seule page.
J'ai trouvé la suite SO répondre: Set HTTP header for one request
J'ai aussi lu beaucoup de documents comme celui-ci: https://docs.angularjs.org/api/ng/service/ $ http
Cependant, je suis toujours confondu avec est une chose:
Le url qui est entré, que devrait-il être dans mon cas? Considérez l'exemple suivant, comment l'écrivez-vous pour que mon application Angularjs soit installée sur www.somedomain.com et qu'elle soit appelée par le code javascript de ma machine locale.
$http.get('what url goes here?', {
headers: {'Access-Control-Allow-Origin': '*'}
});
J'ai aussi une petite question sous, avec l'exemple ci-dessus, serai-je PRÉPONDÉRANTS une des têtes existantes ou seront-ils ajouter seulement un nouvel en-tête?
EDIT:
Code AngularJS au service de retour la page:
(function() {
'use strict';
angular
.module('App')
.controller('Test', Test);
function Test($scope, $http) {
var T = this;
T.test = test;
function test(){
return "Test";
}
}
})();
HTML
<div id="test">{{T.test()}}</div>
Vous m'avez complètement perdu dans votre explication. le site Web qui fait la demande provient de mon propre ordinateur. Le site Web angularjs qui renvoie le résultat est assis sur le serveur. J'ajoute ce bloc de code sur le conroller du site angularjs. Je ne comprends tout simplement pas quelle URL est supposée y aller. L'url du site angularjs qui sert la réponse? – Bojan
Vous appelez $ http.get et passez l'en-tête au serveur est inutile. Vous devez renvoyer cet en-tête à partir des données de retour de sever. Pouvez-vous également poster le code du serveur? –
J'ai mis à jour la question. Je comprends que passer l'en-tête du client au serveur est inutile. Toute ma question est comment puis-je le passer du serveur si mon application est écrite en angularjs. – Bojan