La SCRO - Cross-Domain AJAX Sans JSONP En Permettant à l'Origine Sur le Serveur
J'ai deux applications sur le même serveur, avec le EmberJS, tentant de faire du ski-domaine des appels sur mon backend API.
J'ai mis en place mon backend API pour permettre des requêtes inter-domaine à partir de cette origine particulière. Est-il possible, cependant, d'éviter d'utiliser JSONP avec un tel ensemble? $.ajax
est le blocage des requêtes inter-domaine avant qu'ils ne soient envoyés. Si non, quel est le point de la SCRO, côté serveur, j'avais mis en œuvre pour accepter les demandes de mon JS avant la fin de la source?
MODIFIER
Requête AJAX:
$.ajax({
url: "api.lvh.me:3000/accounts/login",
data: cred,
type: "POST",
xhrFields: {
withCredentials: true
},
success: function(response){
alert('succeeded!');
console.log(response);
alert(response);
},
failure: function(message){
alert("failed");
console.log(message);
alert(message);
}
});
Pourquoi ne pas tout simplement vous reverse proxy le backend de sorte que la SCRO problème ne jamais se produire? Edit: je ne pense pas qu' $.ajax blocs de ces demandes, car il a de demander au serveur de savoir s'ils sont autorisés ou pas ...
N'a pas de reverse proxy permettre à toutes les requêtes d'origine?
Avez-vous essayé ajoutant " http://' à l'attribut de l'url dans le $.appel ajax?
qui était-il!
N'a pas de reverse proxy permettre à toutes les requêtes d'origine?
Avez-vous essayé ajoutant " http://' à l'attribut de l'url dans le $.appel ajax?
qui était-il!
OriginalL'auteur darksky | 2013-06-26
Vous devez vous connecter pour publier un commentaire.
Il n'est pas nécessaire d'utiliser JSONP si vous activez la SCRO.
si cet en-tête est défini dans la réponse, puis normal, XmlHttpRequest sera en mesure d'accéder à la réponse que si c'est comme même domaine. Vérifier si cet en-tête est réglé correctement.
J'espère que ce lien vous sera utile si vous utilisez jquery Un SCRO demande de publication des œuvres de la plaine de javascript, mais pourquoi pas avec jQuery?
Mise à jour:
Exemple
Essayez ceci dans n'importe quel domaine, vous obtiendrez la réponse.
Mettre à jour la solution:
Demande une url sans "http://" qui a causé le problème, ajoutant "http://" a résolu le problème
Access-Control-Allow-Origin: *
dans l'en-tête de réponse mais je reçois le même message d'erreur. Je suis à l'aide de jQuery 1.9 de sorte que le problème avec jQuery vs JS ne devrait pas être un problème. Veuillez voir mon edit pour l'AJAX de jQuery demande, je suis d'envoi.quelle erreur avez-vous?
Est-ce à dire que : avons-Nous besoin d'un changement dans la réponse du service web???
Comment pouvons-nous activer la SCRO??
OriginalL'auteur Balaji Sivanath
Vous pouvez utiliser
rack-cors
dans Rails 5 pour permettre à toutes les URLs.OriginalL'auteur Xinyang Li
Dans les domaine de l'environnement, je vous suggérons d'utiliser JSONP au lieu de la SCRO becase de nombreux hébergeurs gratuit ne prend pas en charge la croix-domaine de la SCRO. Il est détaillé dans exemples de travail - deux JSONP et de la SCRO.
OriginalL'auteur Leon Rom