Permettant des requêtes inter-domaine dans Safari et Chrome? Réponse du serveur vs arguments de ligne de commande
Je suis en train de faire des requêtes inter-domaine avec Safari sur Windows. Mon Safari version 5.1.2.
C'est une question classique. J'ai lu dans de nombreux endroits que Chrome et Safari permet à la croix de domaine de demandes de, tant que Serveur répond avec le followin tête dans la réponse
Access-Control-Allow-Origin: *
J'ai lu ce post.
Comment permettre à des requêtes inter-domaine dans Safari?
et beaucoup d'autres sur le site stackoverflow.
Cependant, aucun d'eux ne répond à ma question.
Je vais avoir des problèmes avec Chrome ET Safari en faisant de la croix-domaine de requêtes AJAX même si je suis à l'envoi de l'en-tête nécessaires depuis le serveur.
J'ai finalement couru Chrome avec "--disable-web-sécurité". Puis il a travaillé.
Mes questions:
1) Que dois-je faire avec Safari? Dois-je utiliser un argument de ligne de commande?
2) Plus important encore, puis-je s'il vous plaît me dire si la fonctionnalité de domaine est autorisé dans Chrome et Safari par défaut tant que serveur répond avec l'en-tête ou dois-je assurez-vous que
un serveur répond avec un en-tête
ET
b) le navigateur est lancé avec un bon argument.
OriginalL'auteur CEGRD | 2011-12-30
Vous devez vous connecter pour publier un commentaire.
J'ai trouvé le problème. Lire plus à propos de la SCRO a aidé html5rocks.com/en/tutorials/cors. J'ai réalisé que mes demandes ont été le déclenchement de contrôle en amont des demandes (OPTIONS) et le serveur n'a pas été mis en place pour gérer ces demandes correctement. La raison pour laquelle il était à l'origine du contrôle en amont des demandes était parce que j'étais à l'aide de JQuery et il a été l'ajout d'un en-tête personnalisé dans mes demandes. J'ai modifié mon code pour empêcher l'ajout de cette en-tête supplémentaire et mes demandes ne sont plus nécessaires de contrôle en amont des demandes. Maintenant je n'ai pas de désactiver la sécurité du web et il fonctionne très bien.
De vérifier la scro documentation lien ci-dessus. De vérifier lors du contrôle en amont les demandes ne sont pas nécessaires. Vérifiez votre http communication via firefug ou un analogue d'outils du navigateur et d'examiner tous les en-têtes de section de vos requêtes http.
C'est apparemment pas coutume (X-*) en-têtes, mais le Type de Contenu d'en-tête de requête: "Si vous définissez cette valeur à autre chose que de l'application/x-www-form-urlencoded, multipart/form-data, ou text/plain-vous sera le déclencheur d'une demande de contrôle en amont." Puis-je simplement dire que tout cela semble idiot - où est la justification de cette folie?
Je suis aussi d'avoir le même problème. pour le développement de l'usage que je veux héberger mon API de domaine distinct. Comment puis-je arrêter cette demande de contrôle en amont. J'ai
application/json
dans mon Type de Contenu d'en-tête de requête.OriginalL'auteur CEGRD