Javascript 页面正在刷新JSON请求
我正在尝试构建一个页面,允许用户在文本字段中输入文本,然后点击键盘上的enter键,它将返回包含该文本的前10个维基百科条目 目前,我担心的是,页面每次获取JSON时都会刷新。当我读到关于其他问题的文章时,我尝试了e.preventDefault方法,但它不起作用。有人能帮我理解为什么会发生这种自动刷新,以及如何修复它吗?多谢各位 这是我的HTML:Javascript 页面正在刷新JSON请求,javascript,jquery,json,Javascript,Jquery,Json,我正在尝试构建一个页面,允许用户在文本字段中输入文本,然后点击键盘上的enter键,它将返回包含该文本的前10个维基百科条目 目前,我担心的是,页面每次获取JSON时都会刷新。当我读到关于其他问题的文章时,我尝试了e.preventDefault方法,但它不起作用。有人能帮我理解为什么会发生这种自动刷新,以及如何修复它吗?多谢各位 这是我的HTML: <div class="container-fluid"> <form action="#"> <inp
<div class="container-fluid">
<form action="#">
<input id="search" name="query" onkeyup="" type="text"></input>
</form>
</div>
<div class="main"></div>
</div>
这里有一个链接:从HTML中删除标记。因为您提交表单时按enter键可以做到这一点。表单提交到当前页面,看起来像是重新加载
<form id="searchform>
<input id="search" name="query" onkeyup="" type="text"></input>
</form>
$('#searchform').on('submit', function(e){
e.preventDefault();
// your magic here.
});
preventDefault会停止向上提交密钥,但到那时,您已经开始提交了。poreventDefault停止enter GETING input as text(输入为文本)操作。您可以使用textarea对此进行检查。如果你把它改成一个字母,比如说a,你会打a,但看不见
您还可以删除表单本身,只保留输入,如果这不会产生其他问题,从而减少HTML,这很好。您正在使用表单,在输入/返回时,它将尝试提交表单
除非有按钮type=submit或input type=submit,否则请删除表单并仅使用input
<div class="container-fluid">
<input id="search" name="query" onkeyup="" type="text"></input>
</div>
<div class="main"></div>
</div>
你可以删除什么?为什么?为什么?这不是一个答案,OP不会从事物中学到任何东西。@ishanshah这是有效的。我不知道为什么,但它确实起了作用,因为表单标记将数据提交给服务器,因此页面被刷新。如果您没有使用submit,那么就没有使用form标记。谢谢您的回答,但是当用户现在按键盘上的Enter键时,页面不会触发JSON请求……不,您绑定了Enter->getJson。但是浏览器的固有功能意味着您提交了一个formYes,删除了它的标记。非常感谢。这是因为您现在不再提交表单:另外,如果解决了问题,请将答案标记为解决方案:
<div class="container-fluid">
<input id="search" name="query" onkeyup="" type="text"></input>
</div>
<div class="main"></div>
</div>