Ne peut pas se connecter à localhost à partir de Chrome extension
Je suis en train de travailler sur une extension Chrome qui mesure le temps, et utilise Google App Engine pour le backend.
Pour les tests, j'essaie de connecter une version locale de la prorogation, pour une version locale de l'application App Engine. Lorsque j'essaie d'envoyer une requête POST, j'obtiens:
XMLHttpRequest cannot load http://localhost:8080/report. Origin chrome-extension://mbndmimplohfkkcincjodnfpaapbbmei is not allowed by Access-Control-Allow-Origin.
Mais il fonctionne quand je change l'URL de sorte qu'il publie sur le appspot.com URL.
Qu'est-ce que le Access-Control-Allow-Origin, et pourquoi est-elle m'en empêche d'obtenir des résultats à partir de localhost?
OriginalL'auteur Jeremy | 2011-10-05
Vous devez vous connecter pour publier un commentaire.
Je crois que c'est parce que vous ne pouvez pas effectuer des appels vers un serveur qui n'est pas inclus dans la section autorisations de votre manifeste. La section autorisations de manifester.json devrait ressembler à quelque chose comme ceci:
Remarque, je n'ai pas testé, mais il semble que c'est là votre problème.
J'ai déjà configuré l'autorisation pour localhost, mais toujours pas de travail. Quelqu'un peut aider?
OriginalL'auteur smfoote
vous ne pouvez pas ajouter des ports dans les autorisations. Vous devez utiliser le port 80 pour les extensions à l'intérieur de l'autorisation manifeste. J'ai l'habitude de courir nginx et router tout le trafic de mes extensions sur le port 80.
L'on a accepté la réponse est correcte. J'ai ajouté
"http://localhost/*"
les autorisations, et je peux maintenant faire une requête Ajax se rendre à :8080.Merci @rane, Bon à savoir.
OriginalL'auteur Mohamed Mansour
Vous peut utilisation des ports personnalisés.
manifeste.json
background.js (à l'aide de jQuery)
OriginalL'auteur Steve Brush