Php onClick Ajax数据不工作
我正在构建一个需要Ajax的网站,以便在不刷新整个页面的情况下发送POST方法 我尝试使用ajax从链接标记上的onclick事件发送数据,但ajax代码似乎发送了一篇空文章 这是php/jquery/ajax代码:Php onClick Ajax数据不工作,php,jquery,ajax,post,isset,Php,Jquery,Ajax,Post,Isset,我正在构建一个需要Ajax的网站,以便在不刷新整个页面的情况下发送POST方法 我尝试使用ajax从链接标记上的onclick事件发送数据,但ajax代码似乎发送了一篇空文章 这是php/jquery/ajax代码: <p id="school_content"> </p> <script src="js/jquery.js"></script>
<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>
$(文档).ready(函数(){
$(“.toggleThis”)。单击(函数(){
var Id=$(this.attr('Id');
$.ajax({
contentType:“应用程序/json;字符集=utf-8”,
url:“id_script.php”,
类型:“POST”,
数据:{
“学校名称”:Id,
},
成功:功能(数据){
警报(Id);
},
});
$(“#学校内容”).load(“id#u script.php”);
});
});
链接标记具有学校的“id”,该jquery部分需要在带有“id”的“school_content”的段落中显示信息:$(“#school_content”).load(“id_script.php”)
var Id=$(this.attr('Id');部分有效,因为他在警报中给了我正确的学校名称();如果我要求的话
id_script.php需要以通常的方式获得这篇文章,但不是
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!';
}
?>
在我前面提到的段落中,我仍然得到“未发布”。问题似乎出在哪里?
.load
是ajax请求的简写,因此您实际上是在执行2个请求。
后者不发送任何数据,因此返回“未发布!”
试一试
$(文档).ready(函数(){
$(“.toggleThis”)。单击(函数(){
var Id=$(this.attr('Id');
$.ajax({
url:“id_script.php”,
类型:“POST”,
数据:{
“学校名称”:Id,
},
成功:功能(数据){
警报(Id);
$(“#学校内容”).html(数据);
},
});
//去掉这个
//$(“#学校内容”).load(“id#u script.php”);
});
});
检查标题<代码>内容类型是您可能缺少的类型。您的PHP可能不需要JSON数据。@RikEckhardt removeheader('Content-Type:application/JSON')代码>因为您实际上并没有发送json数据。
<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>