1

OK、PHP と Facebook JS API を使用して、jQuery の $.ajax() 関数を使用してユーザーのページにストーリーを投稿していますが、Chrome を除くすべての場所で問題なく動作しています。

Chrome が「SyntaxError: Unexpected Token :」というエラーを返しています。

エラー時にXHR応答を警告するようにしましたが、次のとおりです。

{ "id" : "30800681_37922830145443" }

これは有効な JSON です。解析が実行される前にエラーがスローされるため (つまり、「成功」関数に組み込まれていないため)、JSON の結果に問題があるとは言えません。

この背後にあるコードは次のとおりです。

if ($('#post-facebook').is(":checked")) {
    // Do the FB post

    $.ajax({
        type: "POST",
        url: "https://graph.facebook.com/<?= $this->session->userdata('fb_id') ?>/feed",
        data: "message=" + $("#upload-caption").val() + "&access_token=<?= $this->session->userdata('fbtoken'); ?>&app_id=<?= $this->config->item('appId') ?>&link=" + post_url,
    success: function(msg) {

            // Save the FB post ID to the DB
            var result = $.parseJSON(msg);
            var result_array = result.id.split("_");

            // Do more stuff here, but it's not even getting into this success function
        },                                         
        error: function(xhr,ajaxOptions,thrownError) {

            // This is what's executing because the thrown error is getting alerted
            alert(thrownError);
        }
    });
}

Ajax パラメーターを追加するdataType: "json"と、エラー関数を通過しますが、thrownErrorパラメーターは空です。

私は髪を引っ張っています...何か提案はありますか?前もって感謝します、

4

1 に答える 1

1

POSTにはCORSサポートが必要であり、すぐには利用できないため、postでjQueryを使用することはできません。FB.api代わりに、これらすべてをはるかに優れた方法で処理するを使用してください。

于 2012-09-19T01:03:20.030 に答える