做毕设时,一个简单的ajax提交表单,success函数始终失效,后台代码debug是进去了,也返回值了,那么就是前台的问题。
于是我F12时观察到,似乎页面会自己刷新,使得ajax请求服务器的请求瞬间消失。
网上搜了一下,是说button标签需要加type=“button”,但没说为什么——
最后在W3school上找到答案:
请始终为按钮规定 type 属性。Internet Explorer 的默认类型是 “button”,而其他浏览器中(包括 W3C 规范)的默认值是 “submit”。
我用的谷歌浏览器,想必默认type为“submit”,over
<script type="text/javascript">
$(document).ready(function() {
$("#2").click(function(){
$.ajax({
type: "POST",
url:"addProduct",
data:$('#1').serialize(),
success:function(result){
alert(result);
}
});
});
});
</script>
<form id="1">
<button id="2">2</button> <!-- 应为 <button id="2" type="button">2</button> -->
</form>