La croix-Origine de la Demande Bloqué Raison: la SCRO de contrôle en amont du canal n'a pas réussi
J'ai créé une application phonegap où je vais appeler service WCF qui réside dans nopCommerce plugin.
Je suis d'erreur suivant lors de l'envoi de demande d'api:
De la croix-Origine de la Demande Bloqué: de La Même Origine que la Politique n'autorise pas la lecture de la ressource distante à http://testwebsite.com/Plugins/NopRestApi/RemoteService/WebService.svc/GetData. (Raison: de la SCRO de contrôle en amont du canal n'a pas réussi).
De la croix-Origine de la Demande Bloqué: de La Même Origine que la Politique n'autorise pas la lecture de la ressource distante à http://testwebsite.com/Plugins/NopRestApi/RemoteService/WebService.svc/GetData. (Raison: de la SCRO échec de la demande).
Les appels de l'API à l'aide d'Ajax
$.ajax({
crossDomain: true,
type: "POST",
contentType: "application/json",
async: false,
url: "http://testwebsite.com/Plugins/NopRestApi/RemoteService/WebService.svc/GetData",
data: "{storeId:" + storeId + ", languageId:" + languageId + ", customerId:" + customerId + "}",
//data: { storeId: storeId, languageId: languageId, customerId: customerId },
dataType: 'json',
//jsonp: false,
success: function (data) {
alert(data.d);
},
error: function (xhr, textStatus, error) {
alert("Error! " + error);
}
});
J'ai ajouté, à la suite de mon Web.fichier de configuration par une recherche sur google.
<httpProtocol>
<customHeaders>
<add name="Access-Control-Allow-Origin" value="*" />
<add name="Access-Control-Allow-Headers" value="Content-Type" />
</customHeaders>
</httpProtocol>
J'ai essayé de nombreuses façons même désactivé navigateur origine de la croix de demande de vérifier par la suite Comment faire pour désactiver temporairement la protection XSS dans les navigateurs modernes pour les essais? lien, mais toujours le même problème persiste.
Quelqu'un aurait-il même problème et la résolu?
Merci!
merci. Quel navigateur, êtes-vous en train de parler? Encore une chose, Il va travailler dans phonegap pour Android, iOS, etc?
J'ai déjà résolu le problème et maintenant cela fonctionne dans tous les navigateurs pc, connues de tous les navigateurs mobiles, toutes les versions d'android et toutes les versions de l'iPhone et de l'iPad. Le problème c'est que j'ai oublié comment je l'ai fait, à la recherche d'elle dans mes codes maintenant.
Tous les moyens connus, IE, safari, chrome, firefox
Je l'ai eu, c'est une des OPTIONS d'appel pendant un contrôle en amont, afin d'ajouter une valeur par défaut de réponse dans le monde.asax pour toutes les OPTIONS d'appel. Puis de la scro fonctionne dans TOUS les navigateurs à la place de certains navigateurs. Par la façon dont je ne sais pas comment ajouter des codes en commentaire afin que je l'ajoute dans la réponse, s'il vous plaît prendre un coup d'oeil.
OriginalL'auteur Mayank Modi | 2015-05-29
Vous devez vous connecter pour publier un commentaire.
Mondiale.asax:
Et permettre à méthode dans le web.config show ajouter des OPTIONS trop.
Désolé que le global.asax est en VB parce que je suis un VB gars, je pense que vous pouvez convertir en C#.
Selon votre demande, mise à jour comme suit:
Ci-dessous est ma web services en VB (la clsSQL est une Classe écrite en VB qui contient des fonctions de tous mes backend logiques d'entreprise et que vous pouvez accéder à sql server):
Ci-dessous comment je définis le type de données pour les paramètres:
Avant ces 3 lignes dans BeginRequest ont été ajoutés, de la SCRO œuvres dans certains navigateurs sans contrôle en amont, mais pas dans les autres navigateurs avec contrôle en amont, mais j'ai oublié qui est qui. Après ces 3 lignes sont ajoutées, de la SCRO fonctionne dans tous les navigateurs que j'ai installé. (Bien sûr, je n'ai pas testé toutes les versions de ces navigateurs, mais j'ai installé la dernière)
J'ai ajouté cela, mais encore d'avoir le même problème. Vous pouvez poster votre appel Ajax pour les appels de l'api POST type et la version de jQuery vous avais utilisé??
Je suis à l'utilisation de téléphone mobile pour répondre, n'ont pas le pc avec moi, mais je me souviens que le jquery est 2.2.0
J'ai essayé d'ajouter autant d'informations que possible, bonne chance!
OriginalL'auteur Kenneth Li
Vous avez besoin pour permettre à la croix-demande de domaine de votre service WCF.
ajouter ceci dans votre fonction, mais ajouter avant votre retour de données à partir de la fonction.
Comment mettre en œuvre “Access-Control-Allow-Origin” tête dans asp.net pourrait être utile.
<allow origin="*" />
dans app phonegap fichier de configuration.Est-ce que " app phonegap en permettant <permettre origine="*" /> dans app phonegap fichier de config " fonctionne? si oui, alors la réponse avec exctly solution..
OriginalL'auteur Vinit Patel
Dans votre
Global.asax
, ajoutez le code suivant:Qui devrait fonctionner
OriginalL'auteur Esha Wali