【问题标题】:JQuery $.ajax 302 redirecting on the first call onlyJQuery $.ajax 302 仅在第一次调用时重定向
【发布时间】:2013-01-22 12:49:34
【问题描述】:

我编写了一个函数来使用 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:

        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 发起)被重定向并且没有 POST 到 API。第二个(由 .click() 发起)将数据发布到 API。

【问题讨论】:

  • eatbass.com 在 facebook 发布提示处单击 ON/OFF 时的实时示例

标签: javascript ajax api jquery


【解决方案1】:

以某种方式首先在 alertify 外部调用该函数清除了此错误...奇怪。

【讨论】:

    猜你喜欢
    • 2011-09-09
    • 1970-01-01
    • 2017-10-12
    • 1970-01-01
    • 2018-10-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-25
    相关资源
    最近更新 更多