0

我使用 MooTools 发出 JSONP 请求:

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

使用有效的登录名和密码,它可以正常工作(提醒我success)。
当我更改password为无效值时,它不会做任何事情。
我不知道为什么它表现不好。
当我使用Request.JSON(). 有任何想法吗 ?

4

3 回答 3

0

可能是服务没有响应任何事情,因为它无法验证/授权请求,只是在密码或用户 ID 或两者都错误时留下任何黑客!

于 2010-01-09T17:30:36.197 回答
0

我认为onFailure只是 Request 类在 XHR 请求中失败时触发的事件。如果您未能通过身份验证,并不意味着它未能触发 Request 实例,只是未能获得预期的结果。

在 1.2.4.x 中,request.jsonp 支持可选日志(实现的控制台包装类日志) - 将log: true添加到类选项并查看它尝试在 firebug 中引发的事件。

此外,您可以将处理程序更改为onComplete并插入返回的 json 以确定它基于数据的成功程度(而不是onSuccess

于 2010-01-09T19:00:52.550 回答
0

在 JSONP 类中有一个超时属性。默认情况下设置为 0 并且 onFailure 没有被触发。

我设置了 timeout:1 现在 onFailure 被触发。

于 2013-04-19T10:39:07.060 回答