有没有一种方法可以重新加载页面,而不会重置当前在页面上运行的Javascript代码(例如,通过Chrome开发控制台运行)?
我的情况是我需要自动重新加载页面并运行代码。但是,每当我使用window.location.reload()刷新页面时,它会停止我当前在页面上运行的任何Javascript。
有没有办法让我继续刷新页面但保持运行相同的代码?
有没有一种方法可以重新加载页面,而不会重置当前在页面上运行的Javascript代码(例如,通过Chrome开发控制台运行)?
我的情况是我需要自动重新加载页面并运行代码。但是,每当我使用window.location.reload()刷新页面时,它会停止我当前在页面上运行的任何Javascript。
有没有办法让我继续刷新页面但保持运行相同的代码?
感谢dandavis提供的答案。
通过使用ajax,我能够选择一个包含页面并有选择性地重新加载它的div。有效地,这意味着页面的内容被刷新了。
代码看起来像这样:
$('#mydiv').load(document.URL + ' #mydiv');
$('#middle').load(document.URL + ' #middle');
没有使用AJAX,我可能会决定每30秒刷新整个页面,但是有了AJAX,我只需要发送一个轻量级的请求来获取我所需的少量信息。
使用AJAX提交表单并不总是最好的选择。除了不能真正给你带来明显的优势,还违反了一些约定,比如浏览器历史记录(尽管现在一些浏览器将JavaScript的“状态”作为历史记录中的页面)。
示例:
$.ajax({
url: form_url,
type: form_method,
data: form_data,
cache: false,
success: function(returnhtml){
$("#result").html(returnhtml);
$("#loadingimg").hide();
}
error: function (xhr, error) {
alert(error);
}
});
AJAX
;您可以查看:http://www.aspsnippets.com/Articles/Call-ASPNet-Page-Method-using-jQuery-AJAX-Example.aspx - undefined