【发布时间】:2016-08-12 05:37:41
【问题描述】:
我是 ajax 新手。我知道html,php。我想在 ajax 中进行 CRUD 操作。我创建了一个两个文件
- index.php
- insert.php 如下。
当我单击提交按钮时,它会提交数据并插入数据库。但它会刷新页面。请建议我在哪里犯了错误。
我的代码如下:
index.php
<!DOCTYPE html>
<html>
<head>
<title>Ajax test</title>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js">
<script type="text/javascript">
var frm = $('#contactForm1');
frm.submit(function (ev) {
$.ajax({
type: frm.attr('method'),
url: frm.attr('action'),
data: frm.serialize(),
success: function (data) {
alert('ok');
}
});
ev.preventDefault();
});
</script>
</head>
<body>
<form id="contactForm1" action="insert.php" method="post">
<label>Name</label><input type="text" name="user_name"><br>
<label>Age</label><input type="number" name="user_age"><br>
<label>Course</label><input type="text" name="user_course">
<br>
<input type="submit" name="sumit" value="submit">
</form>
</body>
</html>
插入.php
<?php
$conn = mysqli_connect("localhost", "root", "" ,"aj");
$name = $_POST['user_name'];
$age = $_POST['user_age'];
$course = $_POST['user_course'];
$insertdata=" INSERT INTO test3 (name,age,course) VALUES( '$name','$age','$course' ) ";
mysqli_query($conn,$insertdata);
?>
【问题讨论】:
-
在
ev.preventDefault();之后添加return false; -
首先把你的整个js代码放到$(document).ready(function(){...});然后让我们知道是否有任何问题?
-
我已经添加了这个。但结果是一样的。没有变化。
-
检查控制台是否有任何错误?
-
添加 $(document).ready(function(){...}); 后问题解决了.而且我忘记关闭