【发布时间】:2020-04-21 05:14:00
【问题描述】:
嗨,我尝试使用 Ajax 将 input 标记值插入 MySQL,因为大部分操作都是在 js 中进行的,我尝试参考 this。现在不知道发生了什么,它没有做任何事情我检查了控制台它在这里什么都没有显示......我在多个项目中尝试了这个代码并且它在那里工作。
任何帮助或替代方式将不胜感激。谢谢
这是我的代码文件。test.php
<!DOCTYPE html>
<html>
<head>
<script src="./jquery-3.5.0.min.js"></script>
</head>
<body>
<input type="text" name="name" id="name" placeholder="enter name">
<script type="text/javascript">
$(document).ready(function(){
$("#name").on('keypress',function(e){
if(e.which == 13){
var strr = $("#name").val();
console.log(strr);
$.ajax({
type: 'POST',
url: 'testinsert.php',
data: $('#name').val(),
dataType: 'json',
success: function( response){
console.log( 'the feedback from your result.php: ' + response);
}
});
}
});
});
</script>
</body>
</html>
testinsert.php
<?php
if(isset($_REQUEST))
{
mysql_connect("localhost","root","");
mysql_select_db("usr");
error_reporting(E_ALL && ~E_NOTICE);
$email=$_POST['name'];
$sql="INSERT INTO at_user(user) VALUES ('$email')";
$result=mysql_query($sql);
if($result){
echo "You have been successfully subscribed.";
}
}
?>
这是控制台的输出 enter image description here
【问题讨论】:
-
请使用整个表单标签而不是只输入,在表单编辑后提供
id属性到表单 -
查看浏览器的 DevTools Network 选项卡,了解哪些数据会发送到您的脚本。
$_POST['name']存在吗?你在哪里设置name? -
考虑将问题行改写为问题。
-
@kerbholz 我检查了脚本中的错误 500,但我得到了参数
$_POST['name'] -
"但我得到了参数 $_POST['name']" 我敢打赌你没有:
data: $('#name').val()说你正在发送一个 字符串 i> 字段值为#name,此处没有“名称”键。看看@JatinKaklotar 的回答
标签: javascript php jquery mysql ajax