comment appeler de la croix-domaine de l'api web utilisant ajax?
jQuery.ajax({
type: "GET",
url: 'http://example.com/restaurant/VeryLogin(username,password)',
dataType: "json",
success: function (data) {
alert(data);
},
error: function (XMLHttpRequest, textStatus, errorThrown) {
alert("error");
}
});
il avertit succès, mais les données sont nulles. L'url renvoie des données xml, si l'on précise le type de données que nous pouvons obtenir les données json,mais ici, il n'a pas obtenir toutes les données.
Toute aide appréciée.
Vous devez vous connecter pour publier un commentaire.
Javascript est soumis à la même stratégie de domaine. Cela signifie pour la sécurité d'un JS Script dans un navigateur client ne peut accéder à un même domaine, comme elle est venue.
JSONP est pas soumis aux mêmes restrictions.
Vérifier le jQuery docs sur JSONP ici:
http://api.jquery.com/jQuery.getJSON/
Voici un exemple de l'utilisation de JSONP pour accéder à un cross-domain service via JQuery AJAX:
http://jsbin.com/idasay/4
Et juste au cas où JSBIN supprime cette pâte dans le futur:
Il est impossible d'utiliser
Ajax
pour obtenir des données inter-domaines directement sans changer de backend. Il est appelé Même la politique de l'origine.Vous pouvez définir l'en-tête spécial
Access-Control-Allow-Origin
dans le backend(comment faire pour ce). Ou vous pouvez utiliser JSONP.Recherchez jsonp type de données.
voici un article fantastique de faire des GET et POST inter-domaine d'appel :
http://www.asp.net/web-api/overview/security/enabling-cross-origin-requests-in-web-api
Juste m'a beaucoup aidé....tirer commentaires pour toute requête.