我是jQuery的新手。我需要在一段时间后调用该方法。
$(document).ready(function pageLoad() {
setTimeout('SetTime2()', 10000);
});
(function SetTime2() {
$.ajax({
type: "POST",
url: "MyPage.aspx/myStaticMethod",
data: "{}",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (msg) {
// Replace the div's content with the page method's return.
//$("#Result").text(msg.d);
}
});
});
它说,Uncaught ReferenceError:SetTime2未定义。 什么是正确的语法?感谢。
答案 0 :(得分:2)
更改为:
$(document).ready(function() {
setTimeout(SetTime2, 10000);
});
function SetTime2() {
$.ajax({
type: "POST",
url: "MyPage.aspx/myStaticMethod",
data: "{}",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (msg) {
// Replace the div's content with the page method's return.
//$("#Result").text(msg.d);
}
});
}
您需要使用SetTime2()
声明来定义普通函数。周围没有任何事情。
此外,您不希望将字符串传递给setTimeout()
,您希望传递实际的函数引用,而不使用引号或引号。
注意:您也可以使用匿名函数执行此操作:
$(document).ready(function () {
setTimeout(function() {
$.ajax({
type: "POST",
url: "MyPage.aspx/myStaticMethod",
data: "{}",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (msg) {
// Replace the div's content with the page method's return.
//$("#Result").text(msg.d);
}
});
}, 10000);
});