其代码用于将javascript变量发布到php中... 但它不起作用..建议... 我想从javascript中获取ID的值并将其发布到php中。
<!DOCTYPE html>
<html>
<body>
<head>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script type="text/javascript">
$( document ).ready(function() {
$("form").submit(function() {
var id = $("input[type=submit]").attr('id');
alert(id);
$.ajax({
type: 'post',
url:('abcde.php')
data: {id1: id},success: function(response){}
alert(id1);
});
});
});
</script>
</head>
<form action="abcde.php" method="POST">
<!-- other form fields -->
<input type="submit" id="a" name="idVal" value="a">
</form>
</body>
</html>
<?php
if(isset($_POST['id']) ){
$id=$_POST['id'];
echo $id;
}
?>
答案 0 :(得分:0)
哦,男孩,第一个:是
data: {'id': id}
其次,您的代码在这一部分上确实是错误的,您没有成功完成任何操作,只是随机地将alert()放入其中甚至不存在的变量。
因此,它应该是success: function(response){}
而不是success: function(response){alert(response);}
,而忘记了alert(id1);
我从快速查看中发现的其他错误:您也正在通过AJAX和HTML提交表单。您应该在.submit(funcition(){...}的开头使用函数来阻止默认行为。已经有一个函数,但是我不记得了。
最后,您要将表单数据发送到您提交的同一页面。您会从AJAX得到与您所看到的页面相同的答案。您应该将php代码提取到另一个文件,并将abcde.php简化为简单的abcde.html文件。
最后一件事:您应该使用Console.log而不是警报,并注意浏览器的控制台进行调试。您会看到很多错误,这使调试变得更加容易。
您应该(而不是盲目地编码)更加注意对什么负责。您应该更多地考虑将代码引入的副作用。这将伴随经验,我们都去过那里。确保一件“事情”只负责一项任务。