$(“#”)。使用Ajax刷新页面提交
不确定是什么问题,因为这段代码在一段时间之前工作正常,我正在尝试使用Ajax
提交表单,这是我的代码
Ajax代码
$(function() { $("#login").submit(function() { $('#signinPane').showLoading(); $("#loginError").hide(); var data = $(this).serializeObject(); $.ajax({ 'type': "POST", 'url': "", 'data':data, 'success': function(result) { } }); return false; }); });
HTML代码
我的问题是,当我点击提交按钮时,页面正在刷新,并且根本没有提交Ajax调用。 不知道发生了什么。
我认为你需要在事件对象上调用preventDefault
。
当你在vanilla JS处理程序中时,返回false是可以的,而你却不是。
尝试将事件作为参数传递,然后调用e.preventDefault()
jsfiddle 文档
$(function() { $("#login").submit(function(e) { e.preventDefault(); $('#signinPane').showLoading(); $("#loginError").hide(); var data = $(this).serializeObject(); $.ajax({ 'type': "POST", 'url': " ", 'data':data, 'success': function(result) { } }); }); });
使用
event.preventDefault(); $("#login").submit(function(event) { event.preventDefault(); $('#signinPane').showLoading();
这将阻止默认表单提交特征。
尝试:
$("#login").submit(function(e) { e.preventDefault(); e.stopPropagation();