我使用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()
时也是如此。
有什么想法吗?
答案 0 :(得分:0)
可能是服务没有响应任何事情,如果密码或用户ID或两者都错误,它无法验证/授权请求只留下任何黑客!
答案 1 :(得分:0)
我认为 onFailure 只是Request类在XHR请求失败时触发的事件。如果您无法进行身份验证,那么并不意味着它无法触发Request实例,只是未能获得预期的结果。
在1.2.4.x中,request.jsonp支持可选日志(已实现的控制台包装类日志) - 将 log:true 添加到类选项中,并查看它尝试在firebug中引发的事件。
另外,您可以将处理程序更改为 onComplete 并插入返回的json,以确定它基于数据的成功程度(而不是 onSuccess )
答案 2 :(得分:0)
在JSONP类中有一个超时属性。默认情况下设置为0并且未触发onFailure。
我设置超时:1,现在onFailure被触发。