1

私はこのコードを持っていますが、機能していません。それは私にajaxの投稿は成功だと言っていますが、私がリフレッシュを見るとき、私はそれが好きではないのを見ました。

<?
if ($data->user_has_liked == false) 
{ 
?>

<a href="#" id="<?=$data->id;?>" class="like"><span class="<?=$data->id;?>">Like</span></a>
<? } else { echo 'Liked'; } ?>

<script type="text/javascript">
       $('a.like').click(function() {
            var mediaId = $(this).attr('id');
            $.ajax({
                url: "https://api.instagram.com/v1/media/" + mediaId + "/likes?callback=?",
                dataType: "jsonp",
                data: {
                    access_token: '<?=$access_token;?>',
                    _method: 'POST'
                },
                type: "POST",
                success: function(data, textStatus, jqXHR) {
                  $("."+mediaId+"").text('Liked');
                },
                error: function(jqXHR, textStatus, errorThrown) {
                     $("."+mediaId+"").text('Error!<br/>' + textStatus + ' - ' + errorThrown);
               }
             });
        });
</script>
4

1 に答える 1

2

私は似たようなものを構築していますが、最近この問題に遭遇しました。

リクエストは type: POST として送信されますが、リクエスト自体は実際には GET として送信されます。これにより、何も気に入らずにリクエストが成功して返されます。代わりに、そのメディア ID のすべてのデータを返します。

データ型を JSONP ではなく JSON に変更すると、リクエストは希望どおりに機能するはずです。ただし、SSL を必要とする HTTPS 接続が必要になる場合があります。

于 2013-10-01T00:13:03.950 に答える