在使用ajax进行异步请求的时候,按照常规来说,理应异步请求,在页面上回显信息,页面是不会刷新的。
但是,在同时使用了ajax处理异步请求,又使用普通的form表单提交的页面中。点击了异步请求的按钮,页面还是会刷新。
如:
<form action="/test.action" metohd="post">
用户名称:<input type="text" name="username"/>
</form>
<button onclick="login()">普通提交</button>
<button onclick="ajaxlogin()">异步提交</button>
解决:
因为,不同浏览器会把button标签默认为不同的情况。
如:除类IE把button默认为button、像火狐、谷歌这些会把button默认为submit。所以在ajax进行异步请求的时候,在火狐、谷歌等浏览器,会触发button标签,就是submit,这时候会把普通的form表单进行一个提交。所以页面也会刷新。
所以:需要把button标签进行一个指定,指定为button类型,将button添加 type=“button”,指定button类型。
应该改为:
<form action="/test.action" metohd="post">
用户名称:<input type="text" name="username"/>
</form>
<button type="butotn" onclick="login()">普通提交</button>
<button type="butotn" onclick="ajaxlogin()">异步提交</button>