jquery 使用 ajax 更新数据后重新加载页面
jquery reload page after using ajax to update data
我正在尝试找到一种在完成 AJAX
更新后重新加载页面的方法。
我的基本代码是:
updateEdit = function() {
$('#editSection').on('click', '#Changes', function() {
/*set var here*/
$.ajaxSetup({
data: {
var1: 1,
var2: 2
}
})
ajaxUpdate();
});
}
ajaxUpdate = function() {
$.ajax({
type: 'GET',
url: 'update.php',
data: {},
success: function(data) {
alert(data);
centerItem('#savedBox');
},
error: function(jqxhr) {
alert(jqxhr.responseText);
}
})
}
到目前为止一切顺利。我现在需要暂停 1 秒钟,然后重新加载页面。环顾四周表明我需要使用 setTimeout(location.reload, 1000);
所以我加入了
complete: function() {
setTimeout(location.reload, 1000);
}
到 $.ajaxsetup()
但这似乎什么也没做。
然后我将它添加到主 ajaxUpdate()
函数中(不理想,因为我不希望它在每次 ajaxUpdate 时都触发),因此我得到了一个 Uncaught TypeError: Illegal invocation
错误。 (并且没有页面重新加载)。
我做错了什么?
重新加载是一种方法。通过函数调用它
setTimeout(function(){location.reload()}, 1000);
希望对您有所帮助。
setTimeout 函数的语法不正确
请使用这个:
setTimeout(function(){location.reload();}, 1000);
updateEdit = function() {
...
// Will wait 1 sec and then reload the page
var waitCallback = function () {
setTimeout(function() { location.reload(); }, 1000);
};
ajaxUpdate(waitCallback);
});
}
ajaxUpdate = function(cb) {
$.get('update.php',
function(data) {
alert(data);
centerItem('#savedBox');
cb();
})
.fail(function(jqxhr) {
alert(jqxhr.responseText);
});
};
我正在尝试找到一种在完成 AJAX
更新后重新加载页面的方法。
我的基本代码是:
updateEdit = function() {
$('#editSection').on('click', '#Changes', function() {
/*set var here*/
$.ajaxSetup({
data: {
var1: 1,
var2: 2
}
})
ajaxUpdate();
});
}
ajaxUpdate = function() {
$.ajax({
type: 'GET',
url: 'update.php',
data: {},
success: function(data) {
alert(data);
centerItem('#savedBox');
},
error: function(jqxhr) {
alert(jqxhr.responseText);
}
})
}
到目前为止一切顺利。我现在需要暂停 1 秒钟,然后重新加载页面。环顾四周表明我需要使用 setTimeout(location.reload, 1000);
所以我加入了
complete: function() {
setTimeout(location.reload, 1000);
}
到 $.ajaxsetup()
但这似乎什么也没做。
然后我将它添加到主 ajaxUpdate()
函数中(不理想,因为我不希望它在每次 ajaxUpdate 时都触发),因此我得到了一个 Uncaught TypeError: Illegal invocation
错误。 (并且没有页面重新加载)。
我做错了什么?
重新加载是一种方法。通过函数调用它
setTimeout(function(){location.reload()}, 1000);
希望对您有所帮助。
setTimeout 函数的语法不正确
请使用这个:
setTimeout(function(){location.reload();}, 1000);
updateEdit = function() {
...
// Will wait 1 sec and then reload the page
var waitCallback = function () {
setTimeout(function() { location.reload(); }, 1000);
};
ajaxUpdate(waitCallback);
});
}
ajaxUpdate = function(cb) {
$.get('update.php',
function(data) {
alert(data);
centerItem('#savedBox');
cb();
})
.fail(function(jqxhr) {
alert(jqxhr.responseText);
});
};