按钮调用函数,而无需更改URL或重新加载整个页面
Button to call function without changing URL or reloading entire page?
现在我有2个按钮,一个调用函数做某事,另一个显示信息到页面上。
router.get('/run-func', function(res, req, next) {
//call function
res.render('index');
};
router.get('/get-data', function(res, req, next) {
//get info from db...
res.render('index', {items: tempArray});
};
每次点击一个按钮,它将我发送到另一个url,但显示索引页:
http://localhost: 3000/run-func
http://localhost: 3000/获取数据
问题是每次我单击run- function时,它都会重新加载页面,并且从get-data显示的数据消失。有没有办法使这些按钮不加载不同的url ?
HTML是使用手柄完成的,下面是get-data:
<div class="get">
<h3>Get Data</h3>
<a href="/get-data">LOAD DATA</a>
<div>
{{# each items }}
<article class="item">
<div>id: {{ this._id }}</div>
<div>prop: {{ this.prop }}</div>
</article>
{{/each}}
</div>
</div>
try this
function processAjaxData(response, urlPath){
document.getElementById("content").innerHTML = response.html;
document.title = response.pageTitle;
window.history.pushState({"html":response.html,"pageTitle":response.pageTitle},"", urlPath);
}
然后可以使用window。Onpopstate用于检测后退/前进按钮导航:
window.onpopstate = function(e){
if(e.state){
document.getElementById("content").innerHTML = e.state.html;
document.title = e.state.pageTitle;
}
};
相关文章:
- 在新的浏览器选项卡上加载新的aspx页面后调用JavaScript函数
- 更改css链接并等待加载新的css
- 如何在Ajax加载新内容时停止JavaScript执行
- 当在ng视图中加载新路由时,Tabbing(tabindex)针对错误的元素
- 如何使用输入数据加载新的extjs图表
- JQuery Masonry.Ajax图标和“;加载新项目”;绳子放错地方了
- 通过javascript在同一个打开的选项卡中重新加载新的网页内容
- 当用户到达页面右侧时加载新内容
- 数据表 AJAX 筛选器重新加载数据
- 超链接单击以加载新页面并执行JavaScript
- 单击时加载新的 SVG
- 在RadWindow中加载新页面,然后从加载的窗体中关闭窗口
- ajax在页面刷新之前不会加载新的sql结果
- 谷歌地图API-在从ajax页面加载新数据之前清除标记、多段线
- 使用Ajax加载页面,并在必要时加载新脚本
- 加载新页面时的过渡效果,AJAX
- Ajax没有正确加载新页面
- 正在加载新的Javascript,但正在调用旧的Javascript.MVC
- 咕噜咕噜的手表:实时加载重新加载落后 1 步....
- 我怎么能有一个花哨的盒子一样的弹出体加载,但与cookie不连续加载重新加载