0
$.ajax({
    url: 'https://api.imgur.com/3/album/' + sharedAlbumID,
    type: 'GET',
    beforeSend: function(xhr){xhr.setRequestHeader('Authorization', 'Client-ID '+imgurClientID);},
    success: function(resp) {
        var dataLink = 'http://i.imgur.com/' + resp.data.cover + '.jpg';
        var url = encodeURI(window.location.href);
        var media = encodeURI(dataLink);
        $('#pinterestHolder').html('<a target="_blank" data-pin-config="beside" href="//pinterest.com/pin/create/button/?url=' + url + '&media=' + media + '&description=Imagedoku album recommendation: ' + resp.data.id + '" data-pin-do="buttonPin" ><img src="//assets.pinterest.com/images/pidgets/pin_it_button.png" /></a>');
        if (resp.data.images.length >= 9) {
            for (var i = 0; i < 9; i++) {
                var imgID = resp.data.images[i].id;
                imgID += 't';
                imgID = 'http://i.imgur.com/' + imgID + '.jpg';
                $('#albumHolder').append('<div class="albumThumbHolder"><a href="' + resp.data.images[i].link + '" target="_blank"><img class="imguralbumthumb" title="' + resp.data.images[i].id + '" src="' + imgID + '" /></a></div>');
            }
        } else {
            $('#insufficientImagesError').modal();
        }
        $('#albumLink').html('<a href="http://imgur.com/a/' + sharedAlbumID + '" target="_blank">View album on Imgur</a>');
    },
    error: function(resp) {
        $('#imgurMalformedError').modal();
    }
});

このコードは Chrome で期待どおりに機能しますが、

resp.data is undefined

エラーオン

 var dataLink = 'http://i.imgur.com/' + resp.data.cover + '.jpg';

おわかりのように、これは Imgur API を使用したものです。どういうわけか、問題は Firefox にあり、jQuery コールバックで送信されたデータ オブジェクトを読み取ることができません。どうすればこれを修正できますか? 私はこれを Webkit と Mozilla で動作させることにのみ関心があり、それは Webkit でも動作します。

4

1 に答える 1

0

問題は、受信する dataType: 'json' を指定しなかったことです。Chrome は明らかに推測しましたが、Firefox は推測しませんでした。

于 2013-04-06T12:54:32.357 に答える