【发布时间】:2011-07-07 06:17:49
【问题描述】:
我在加载时未定义 javascript 全局变量(称为 TimeStamp)时遇到问题……至少我认为这是问题所在。
我从这个开始,定义时间戳。
$(document).ready(function(){
// AddTest();
var TimeStamp = null;
waitForMsg();
});
...waitForMsg 然后使用 TimeStamp 运行并在成功完成 ajax 调用时对其进行更新。至少是这样的想法,但目前没有任何运行,因为“未定义时间戳”......即使我之前定义了它! (呃)。
如果我在 waitForMsg 中重新定义时间戳,它只会被重置,而不是使用来自成功的 ajax 函数的更新值。
function waitForMsg(){
$.ajax({
type: "POST",
url: "backend.php",
async: true,
cache: false,
timeout:50000, /* Timeout in ms */
data: "TimeStamp=" + TimeStamp,
success: function(data){
var json = eval('(' + data + ')');
$('#TextHistory :last-child').after('<p>' + json['msg'] + '</p>');
TimeStamp = json['timestamp'];
setTimeout(
'waitForMsg()', /* Request next message */
1000 /* ..after 1 seconds */
);
},
error: function(XMLHttpRequest, textStatus, errorThrown){
$('#TextHistory :last-child').after('<p>' + errorThrown + '</p>');
setTimeout(
'waitForMsg()', /* Try again after.. */
"15000"); /* milliseconds (15seconds) */
},
});
};
非常感谢任何帮助。
丹。
【问题讨论】:
标签: javascript variables jquery scope