Pergunta

Eu faço um pedido JSONP usando MooTools:

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();

Com login e senha válidos, funciona bem (alertas me success).
Quando eu mudar password com um valor inválido que não faz nada.
Eu não sei porque ele se comporta mal.
A mesma coisa quando eu uso Request.JSON(). Alguma idéia?

Foi útil?

Solução

Pode ser serviço não está respondendo com qualquer coisa de soro de leite não pode autenticar / autorizar o pedido apenas para deixar qualquer hacker se a palavra passe ou ambos estão errados!

Outras dicas

eu acho que o onFailure é simplesmente o evento disparado pela classe Pedido quando ele falhar no pedido XHR. se você não conseguir autenticar não vai não significa que ele não conseguiu disparar a instância Request, apenas não conseguir obter os resultados esperados.

1.2.4.x, suportes request.jsonp log opcional (log classe implementada consola invólucro) - add log: true para as opções de classe e ver o que eventos que tenta levantar no Firebug.

Além disso, você pode alterar o manipulador para onComplete e interpolar o JSON retornado para determinar o quão bem sucedido foi com base nos dados (em oposição a onSuccess )

Na classe JSONP há uma propriedade de tempo limite. Por padrão é definido como 0 e onFailure não foi acionado.

Eu definir o tempo limite:. 1 e agora onFailure é acionado

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top