我正在尝试在我的数据库中插入一个名称。有一个表格要求输入名称。还有一个提交按钮。点击提交按钮没有显示警报。我是ajax的新手。
这是index.php。
<html>
<head>
<title>Untitled Document</title>
<script type="text/javascript" src="http://ajax.microsoft.com/ajax/jquery/jquery-1.6.2.min.js"></script>
<script type="text/javascript">
$(document).ready(function() {
$("#submit").submit(function() {
var name = $('#name').val();
$.ajax({
type: "POST",
url: "ajax.php",
data: "name=" + name,
success: function() {
alert("sucess");
}
});
});
});
</script>
</head>
<body>
<form action="" method="post">
Name:
<input type="text" name="name" id="name" />
<br />
<input type="submit" name="submit" id="submit" />
</form>
</body>
</html>
这是ajax.php
<html>
<body>
<?php
$query=mysql_connect("localhost","root","root");
mysql_select_db("freeze",$query);
$name='l';//$_POST['name'];
mysql_query("insert into tt values('','$name')");
?>
</body>
</html>
答案 0 :(得分:0)
小心ajax中的url。您的网址是'ajax.php',这是一个相对网址,因此,如果您的网页位于网址http://localhost.com/index.html(例如),则ajax会将帖子发送到http://localhost.com/index.html/ajax.php(这可能是错误的) 。尝试使用绝对网址,为此,在网址的开头添加“/”,然后针对http://localhost.com/ajax.php触发ajax。
您的ajax代码应如下所示:
$(document).ready(function() {
$("#submit").submit(function() {
var name = $('#name').val();
$.ajax({
type: "POST",
url: "/ajax.php",
data: "name=" + name,
success: function() {
alert("sucess");
}
});
});
});
答案 1 :(得分:0)
在submit
上触发form
事件,而不是提交按钮。所以
$("#submit").submit(function() {
不会被触发,因为#submit
选择按钮,而不是表单。您需要为表单提供ID:
<form id="myform">
然后使用
$("#myform").submit(function() {
您还需要在事件处理程序中使用event.preventDefault()
或return null
,以防止在函数返回时正常提交表单。