【发布时间】: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