因为我正在构建一个需要Ajax来发送POST方法而不刷新整个页面的网站。
我尝试使用ajax从LINK-tag上的onclick事件发送数据,但是ajax代码确实发送了一个EMPTY帖子。
这是php / jquery / ajax代码:
<p id="school_content">
</p>
<script src="js/jquery.js"></script>
<script type="text/javascript">
$(document).ready(function() {
$(".toggleThis").click(function(){
var Id = $(this).attr('id');
$.ajax({
contentType: "application/json; charset=utf-8",
url: "id_script.php",
type: "POST",
data: {
'school_name': Id,
},
success: function(data){
alert(Id);
},
});
$("#school_content").load("id_script.php");
});
});
</script>
LINK-tag具有学校的'id',其信息需要在PARAGRAPH中以'id'“school_content”显示在这个jquery部分:$(“#school_content”)。load(“id_script .PHP“);
var Id = $(this).attr('id');部分工作,因为他在警报()中给我正确的school_name;如果我问它。
id_script.php需要以通常的方式获取此POST,但不是..
id_script.php代码:
<?php
include('connect.php');
header('Content-Type: application/json');
if(isset($_POST['school_name'])){
$Id = $_POST['school_name'];
$extract = mysqli_query($con, "SELECT * FROM school_kaart WHERE school_name='$Id'");
$numro=mysqli_num_rows($extract);
if(mysqli_num_rows($extract) == '1'){
$row = mysqli_fetch_assoc($extract);
echo 'Yes it works!';
}
else{
echo 'Nope, didnt work!';
}
}
else{
echo 'Not posted!';
}
?>
我还在“没有张贴!”在我之前提到的PARAGRAPH中。什么似乎是问题?
答案 0 :(得分:0)
.load
是ajax请求的简写,因此您实际上正在执行2个请求。
后者不会发送任何数据,因此会返回“未发布!”&#39;;
尝试
<script src="js/jquery.js"></script>
<script type="text/javascript">
$(document).ready(function() {
$(".toggleThis").click(function(){
var Id = $(this).attr('id');
$.ajax({
url: "id_script.php",
type: "POST",
data: {
'school_name': Id,
},
success: function(data){
alert(Id);
$("#school_content").html(data);
},
});
//remove this
//$("#school_content").load("id_script.php");
});
});
</script>