我正试图让它发挥作用,但我遇到了问题。我在这里缺少什么?
我正在尝试通过jQuery将一些数据插入到本地MySQL表中。如果我自己运行save.php,它会在数据库中插入一个空行,这样就行了。有什么想法吗?
**index.php**
<html>
<head>
<link rel="stylesheet" type="text/css" href="css/style.css" />
<script src="jquery.js" type="text/javascript"></script>
<script type="text/javascript">
$(document).ready(function() {
$('form#submit').submit(function () {
var nume = $('#nume').val();
$.ajax({
type: "POST",
url: "save.php",
data: "nume="+ nume,
success: function() {
$('#nume').val('');
}
});
return false;
});
});
</script>
</head>
<body>
<form id="submit" method="post">
<p>Nume: <input id="nume" name="nume" type="text"></p>
<p><input id="submitButton" type="button" value="Submit"></p>
</form>
</body>
</html>
**save.php**
<?php
mysql_connect('localhost', 'root', 'root') or die(mysql_error());
mysql_select_db("test") or die(mysql_error());
$nume = htmlspecialchars(trim($_POST['nume']));
$add = "INSERT INTO ajax_test (nume) VALUES ('$nume')";
mysql_query($add) or die(mysql_error());
?>
答案 0 :(得分:4)
您确定表单正在提交吗?您的按钮不是输入类型=“提交” - 它只是一个按钮。它不会单独提交表格。
答案 1 :(得分:1)
如果Scott Saunders的解决方案不起作用,请尝试:
而不是
url: "save.php",
尝试:
url: "save.php?nume=testvalue",
如果这也不起作用,请检查您的PHP脚本是否从$_GET['nume']
或$ _POST中读取输入值
而不是$_REQUEST['nume']
答案 2 :(得分:1)
您可以采取一些措施来帮助进行问题排查。
在alert("submit");
之后粘贴提醒$('form#submit').submit(function () {
以查看表单是否正在提交。同时在成功alert("success");
中加入一个,看看你是否收到回调。这将告诉您它在哪个阶段失败并帮助您进行搜索。
你也可以使用firefox的firebug插件来查看通过ajax发送的内容,如果它正在工作,看看你是否有任何值错误。您认为需要勾选在控制台中显示XMLHttpRequests