【发布时间】:2011-04-12 02:36:09
【问题描述】:
我是 jQuery 工作流程的新手,我想设置一个使用内部方法发出 AJAX 请求的 javascript 类。当请求成功返回时,jQuery AJAX 回调应该调用类本身拥有的方法。代码如下:
function IXClock()
{
this.m_intervalID = 0;
this.startClock = function ()
{
this.m_intervalID = setInterval(this.tictac, 500);
}
this.stopClock = function ()
{
clearInterval(this.m_intervalID);
}
this.setClockTime = function(p_strTime)
{
$('#clock').html(p_strTime);
}
this.tictac = function ()
{
$.ajax
({
type: 'POST',
url: '/rap/rapClock.php',
complete: function (data)
{
this.setClockTime(data);
}
});
}
}
该类表示一个时钟,其内部方法 (tictac) 在服务器端请求“现在几点”。 服务器说出时间后,jQuery 的 AJAX 方法应该调用 IXClock 类的 setClockTime 方法。调用方法会更新 html 页面中的#clock div 项。
问题是 this.setClockTime() 方法结果未知,并且 javascript 返回“this.setClockTime 不是函数”错误。
问题是:有没有办法从 jQuery 的 AJAX 回调中调用类方法?
【问题讨论】:
-
如果你称它为类,为什么不使用
prototype对象将方法分配给类,而不是将它们单独附加到每个实例化的对象? -
获取一次时间,格式化为日期对象,从那里递增,间隔使用ajax请求有点浪费。
标签: javascript jquery ajax class methods