我正在尝试使用 AJAX 更新我的数据库,但不知何故它不起作用。我已经完成了从数据库中获取数据到输入字段的部分。
我有一个输入字段“名称”:
<form method="post" ACTION="update.php">
<input maxlength="250" NAME="name" id="name" value="SomeName" SIZE="50">
<INPUT TYPE="submit" NAME="submit" id="submit" VALUE="submit">
<span id="error" style="display:none"> Please Enter Valid Data! Did you fill in all the fields?</span>
<span id="success" style="display:none"> the name has been updated successfully!</span>
</form>
并使用这段代码:
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
<script type="text/javascript">
$(function() {
$("#submit").click(function() {
var name = encodeURIComponent($.trim($("#name").val()));
var dataString = "name =" + name;
if(name == "")
{
$("#success").fadeOut(2).hide();
$("#error").fadeOut(200).show();
}
else
{
$.ajax({
type: "POST",
url: "update.php",
data: dataString,
dataType:'json',
success: function(data)
{
if(!data.error)
{
$("#success").fadeIn(200).show();
$("#error").fadeOut(200).hide();
}
else
{
alert(data.error);
}
}
});
}
return false;
});
});
我将名称传递给 update.php,即:
<?php
$con = mysql_connect('localhost', 'someUsername', 'somePassword');
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
mysql_select_db("someDatabase", $con);
if(isset($_POST['name']))
{
$name = mysql_real_escape_string($_POST['name']);
$query="UPDATE SOMETABLE SET name ='$name'";
$result = mysql_query($query) or die (mysql_error);
}
else
{
echo "Something wrong with the POST";
}
mysql_close($con);
exit;
?>
我收到错误:“POST 有问题”;
提前致谢。
更新:问题不是“name”而不是“name =”(我已经编辑过了)。那只是这里的打字错误。
最佳答案
var dataString = "name" + name;
这一行应该改成这样;
var dataString = "name=" + name;
关于mysql - 使用 AJAX 更新数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8714590/