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

onFailureは、XHRリクエストで失敗したときにRequestクラスによって発生するイベントにすぎないと思います。認証に失敗した場合でも、Requestインスタンスの起動に失敗したわけではなく、期待される結果が得られなかっただけです。

1.2.4.xでは、request.jsonpはオプションのログ(実装されたコンソールラッパークラスログ)をサポートします-ログを追加します:クラスオプションにtrueを追加し、firebugで発生させようとするイベントを確認します。

また、ハンドラーをonCompleteに変更し、返されたjsonを補間して、( onSuccessではなく)データに基づいてハンドラーがどの程度成功したかを判断することもできます。

于 2010-01-09T19:00:52.550 に答える
0

パスワードまたはユーザーID、あるいはその両方が間違っている場合、サービスがハッカーを残すためだけにリクエストを認証/承認できないホエーで応答していない可能性があります。

于 2010-01-09T17:30:36.197 に答える
0

JSONP クラスにはタイムアウト プロパティがあります。デフォルトでは 0 に設定されており、onFailure はトリガーされませんでした。

timeout:1 を設定すると、onFailure がトリガーされます。

于 2013-04-19T10:39:07.060 に答える