在一个JS函数中我调用另一个,...我想每30秒调用一次
function showPopup() {
$.get("/Feedback.aspx", function (data) {
if (post_HasError(data))
return;
initPopup("popup-common", "feedback", data);
});
setInterval(AddFormToSession(3), 30000);
}
function AddFormToSession(form) {
alert(1);
var url1 = form == 3 ? "Feedback.aspx/AddFormToSession" : "Request.aspx/AddFormToSession";
$.ajax
({
type: "POST",
async: true,
url: url1,
data: "{'funcParam':'" + $('#aspnetForm').serialize() + "'}",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function(msg)
{
console.log(msg.d);
}
});
}
仅在第一次调用
答案 0 :(得分:4)
您不会在setInterval
的第一个参数中调用函数。调用函数返回该函数的值,而不是该函数的引用。在您的情况下,它将返回undefined
。
您只需传递function
的引用。您可以使用匿名函数,然后从那里打电话。
setInterval(function () {
AddFormToSession(3);
}, 30000);
来自评论:
答案 1 :(得分:0)
setInterval接受函数名称(即AddFormToSession)。您提供的是函数调用的返回值。