2010-01-09 10 views
0

Je fais une demande JSONP en utilisant MooTools:MooTools JSONP demande ne travaille pas avec mot de passe invalide

var username = 'hsz'; 
var password = 'pass'; 
var req = new Request.JSONP({ 
    url: 'http://api.blip.pl/profile.json', 
    method: 'get', 
    headers: { 
     'Authorization' : 'Basic ' + Base64.encode(username + ':' + password), 
     'Accept'  : 'application/json', 
     'Content-Type' : 'application/json', 
     'X-blip-api' : '0.02' 
    }, 
    onSuccess: function(res){ alert('success'); }, 
    onFailure: function(res){ alert('failure'); } 
}).send(); 

Avec connexion et mot de passe, il fonctionne très bien (me alertes success).
Lorsque je change password pour une valeur non valide, il ne fait rien.
Je ne sais pas pourquoi il se comporte mal.
Même chose lorsque j'utilise Request.JSON(). Des idées?

Répondre

0

Peut être service ne répond pas à quoi que ce soit le lactosérum, il ne peut pas authentifier/autoriser la demande juste de quitter un pirate informatique si le mot de passe ou l'identifiant utilisateur ou les deux sont faux!

0

Je pense que le onFailure est simplement l'événement déclenché par la classe Request quand il échoue dans la requête XHR. Si vous ne parvenez pas à vous authentifier, cela ne signifiera pas qu'il n'a pas réussi à déclencher l'instance de requête, ne parvenant pas à obtenir les résultats attendus. Dans 1.2.4.x, request.jsonp prend en charge le journal facultatif (journal de classe de wrapper de console implémenté) - ajoutez log: true aux options de classe et consultez les événements qu'il tente d'élever dans firebug.

aussi, vous pouvez changer le gestionnaire de onComplete et interpoler le JSON retourné à déterminer dans quelle mesure il a été basé sur les données (par opposition à onSuccess)

0

A la classe JSONP il y a un propriété timeout. Par défaut, est défini sur 0 et onFailure n'a pas été déclenché.

Je définis le délai: 1 et maintenant onFailure est déclenché.