标签& lt; form>删除ajax请求后的部分代码
tag <form> deletes part of code after ajax request?
我有一个这样的表单:
<form>
<input class="form-control" id="searchField" type="text">
<button type="submit" id="searchUserButton">SEARCH BUTTON</button>
</form>
当我按下搜索按钮时(我使用jquery来确定按钮按下时),我调用ajax请求,并在html文件中从json文件打印一些信息,但是发生了一些奇怪的事情:
我看不到结果!否则,如果我删除表单标签(所以我只有输入和按钮元素)一切正常,我可以看到所有的数据…发生了什么?我应该如何做在正确的方式与jquery ajax请求(所以当按钮按下)?
Jquery: $("#searchUserButton").bind("click", function () {
searchData();
});
Ajax: function searchData() {
$.ajax({
type: 'GET',
url: 'data/file.json',
dataType: 'json',
success: showData,
error: function () {
// FAIL
alert("ERROR!");
}
});
}
将点击事件更改为:
$("#searchUserButton").bind("click", function (e) {
e.preventDefault();
searchData();
});
你的问题似乎是我在上面的评论中所假设的。 <form>
中的type="submit"
按钮将导致表单处理和页面重新加载,而没有<form>
标签,这将不会发生。通过执行e.preventDefault();
,您指示按钮而不是提交表单,而是执行searchData()
功能。
直接修改
<button type="submit" ...
<button type="button" ...
否则,表单无论如何都会提交,无论点击处理程序如何,页面都会重新加载。
相关文章:
- JavaScript代码未正确检查ajax请求
- 为什么我的解析云代码请求'未经授权'
- 如何发送作为节点请求响应函数中的代码块的响应
- AngularJS错误:请求的键的值不是对象.keys@[本地代码]
- 当ajax请求发生时运行代码的Chrome扩展
- Node.js&两个请求之间的Express/Can上下文切换可以是同步代码
- 如何使用scalajs-angular获取请求的http状态代码
- 在php中的$_POST请求后执行JavaScript代码
- 为什么当我指定POST时,即使我已经尝试了类型和方法选项,我的ajax代码仍然会触发GET请求
- 如何侦听跨域映像请求上的任何301/302重定向状态代码
- HTML5/JavaScript游戏-编辑JS代码以更改AJAX请求
- Javascript新的关键字代码解释请求
- Ajax get jsonp给出错误代码500“;请求被阻止”;来自MVC应用程序
- 什么会导致云代码计数 parse.com“请求超时”
- 在封闭的 python 服务器上的 ajax 请求中获取 0 作为 Http 响应代码
- 在 ajax 请求后执行 Google AdWords 转化跟踪代码
- Javascript 代码在 ajax 请求后不起作用
- parse.com 加载代码 HTTP 请求和查询
- 来自 PHP 循环中 JQuery 代码的 AJAX 请求
- “请求代码”按钮,