Authentification de base avec la requête jQuery.ajax et jsonp
J'ai quelques locaux html/js fichiers avec qui j'aimerais invoquer certains serveurs distants via https et, éventuellement, utiliser l'Authentification de Base pour la demande.
Je rencontre deux problèmes. La première est que si je ne spécifiez pas de "jsonp" pour le type de données, jQuery.ajax() requête renvoie l'erreur:
L'accès restreint à des URI refusé de code:
1012
Sont mes demandes considéré croix-domaine, car mon travail principal fichier est stocké localement, mais la récupération des données à partir d'un serveur, d'ailleurs?
Si belle, je l'ai mise à jour de l'appel, de sorte qu'il ressemble maintenant à:
$.ajax({
url: myServerUrl,
type: "GET",
dataType: "jsonp", //considered a cross domain Ajax request if not specified
username: myUsername,
password: myPassword,
success: function(result)
{
//success handling
},
error: function(req, status, errThrown){
//error handling
}
})
Parce que j'ai besoin d'utiliser l'Authentification de Base, je suis de passage dans le nom d'utilisateur/mot de passe, mais si je le moniteur de la demande, je ne vois pas qu'il soit fixé et, en outre, le serveur envoie une réponse d'erreur car elle n'a pas attendu info.
En outre, parce que j'ai jsonp
ensemble, beforeSend
ne sera pas appelé.
Comment puis-je transmettre les informations d'identification à l'aide de l'Authentification de Base pour cette demande?
source d'informationauteur Abel Vita
Vous devez vous connecter pour publier un commentaire.
La version courte est que vous ne pouvez pas le faire. Vos soupçons sont corrects, parce que vous êtes dans les environs, et ces fichiers sont à distance, vous ne pouvez pas y accéder, vous êtes bloqué par la de même la politique de l'origine. Le travail autour de qui est JSONPmais ça ne semble pas s'appliquer à votre situation...
JSONP fonctionne différemment, c'est une demande par l'intermédiaire d'un
<script>
balise inclure pour obtenir le fichier, de sorte que vous n'êtes pas en envoyant des en-têtes ou quoi que ce soit.Vous aurez besoin de proxy de la demande par le biais du serveur vous êtes sur (le domaine d'où ce script est en cours d'exécution) ou une autre option proxy, mais en allant de la client à un autre domaine est bloqué, principalement pour des raisons de sécurité.
Essayer de faire http://user:password@restservice. Cette imite un basic auth demande.
Je pense que vous aurez à ajouter un serveur proxy en quelque sorte. JSONP est juste une façon particulière d'utiliser une balise script. Ainsi, elle ne permet pas le réglage de l'arbitraire des en-têtes. Et bien sûr, vous ne pouvez pas faire une croix d'origine XHR.