jQuery $ .post-function |数据处理功能不起作用

时间:2016-05-28 15:52:18

标签: javascript jquery html post

我是网络开发的新手,但在传统开发方面拥有多年的经验,例如:在我的带领下使用Java,C和ABAP。

我正在尝试创建一个非常简单的登录功能,但正在努力使用jQuery的$.post() - 功能。

在下面看到的代码中,在我提交表单alert("test")之后,$.post()的数据处理部分中的form_login - 函数似乎没有被执行。我想问题是我如何将JavaScript函数login_attempt()与表单form_login的提交相关联。

<!DOCTYPE html>
<html>
<head>
	<title>Login</title>

	<script src="jquery-2.2.4.min.js"></script>

	<script>
	function login_attempt(){
		$.post("login.php", $("#form_login").serialize(), function(data){alert("test");},html);
	}
	</script>

</head>
<body>
	<h1>Login-Form</h1>	
	<form id="form_login" method="post" onsubmit="return login_attempt()">
		<p><label for="id_username">Username: </label><input id="id_username" name="username" type="text" width="20"></label></p>
		<p><label for="id_password">Password: </label><input id="id_password" name="password" type="password" width="10"></label></p>
		<p><input type="submit" name="submit_login"></p>
	</form>

		
</body>
</html>

1 个答案:

答案 0 :(得分:1)

现在,在提交表单时会触发函数login_attempt,然后提交表单,因为login_attempt函数不会告诉表单以常规方式停止提交。因此,在post方法的实际回调可以执行任何操作之前,页面会重新加载。

添加return false;作为login_attempt函数的最后一行,告诉表单不应该以常规方式提交。