1

POST を使用してローカル API を呼び出す関数を作成しました。

function setOpenGraph(setValue) {

    requestData = {
        user : $.user._id,
        opengraph : setValue
    };

    console.log(requestData);

    $.ajax({
        type: 'POST',
        data: requestData,
        dataType : 'json',
        url: '/api:setopengraph',
        success: function (data) {

            $.user.opengraph = setValue;

            console.log(data);

        }
    });
}

これは、ページ上のリンクのクリック イベントで呼び出されたときに機能します。ただし、alertify ポップアップへの応答として呼び出すと、API へのデータの POST に失敗します。

        alertify.set({ labels: { ok: "ON", cancel: "OFF" } });
        alertify.confirm( 'message here', function (e) {
            if (e) {
                $(".toggleopengraph").html('turn facebook sharing off');
                setOpenGraph(true);
            } else {
                $(".toggleopengraph").html('turn facebook sharing on');
                setOpenGraph(false);
            }
        });

**どちらの場合も console.log() は Object {user: "XXXXXXXXXXXXXX", opengraph: false} を返します **

次のコンソール出力では、最初のリクエスト (alertify によって開始された) がリダイレクトされ、API に POST されません。2 番目 (.click() によって開始) は、データを API にポストします。

リダイレクトされる最初の AJAX リクエスト

4

1 に答える 1

0

どういうわけか、alertify の外で最初に関数を呼び出すと、このエラーがクリアされました... 奇妙です。

于 2013-01-22T13:20:37.837 に答える