我需要你的帮助来尝试解决ajax回调的问题。发生的情况是,php 脚本被调用没有问题,查询工作正常,它生成了 json 输出,但回调不起作用。成功时不显示div,类时不发生任何更改。
这是我的表格
<form class="form-inline">
<input type="hidden" id="id_pro" value="1">
<input type="hidden" id="status" value="1">
<button id="submit" type="button" class="btn btn-link">
<span id="check" class="glyphicon glyphicon-check" title="my tytle"></span>
</button>
</form>
<span class="error" style="display:none"> Please Enter Valid Data</span>
<span class="success" style="display:none"> Form Submitted Success</span>
这是 js 部分
$(function() {
$("#submit").click(function() {
var id_pro = $("#id_pro").val();
var status = $("#status").val();
var dataString = 'id_pro='+ id_pro + '&status=' + status;
if(id_pro=='' || status=='')
{
$('.success').fadeOut(200).hide();
$('.error').fadeOut(200).show();
}
else
{
$.ajax({
type: "POST",
url: "myphppage.php",
data: dataString,
datatype: 'json',
success: function(data)
{
if(data.result=='1')
{
$('.success').fadeIn(200).show();
$('.error').fadeOut(200).hide();
$("#check").attr('class', data.check);
}
}
});
}
return false;
});
});
这是php部分
<?
if($_POST)
{
$id_pro=$_POST['id_pro'];
$status=$_POST['status'];
if($status==0){$status=1;}else{$status=0;}
if ($mysqli->query("UPDATE mytable SET online=".$status." WHERE id=".$id_pro." ") === TRUE) {
header("Content-type: application/json");
$data = array('check'=>'new_class','check_text'=>'new text','result'=>'1');
print json_encode($data);
}
else
{
header("Content-type: application/json");
$data = array('result'=>'0');
print json_encode($data);
}
$result->close();
}else { }
?>
知道吗?提前谢谢你
错误 500 意味着 PHP 中的错误和 PHP 中的错误看不到定义的$mysqli$result我认为这是您的问题。
更好的PHP看起来像这样,但必须定义连接到数据库
<?php
header("Content-type: application/json");
$data = array('result'=>'0');
if ($_SERVER['REQUEST_METHOD'] == 'post' )
{
$id_pro = $_POST['id_pro'];
$status = ($_POST['status'] == 0) ? 1 : 0; // if($status==0){$status=1;}else{$status=0;}
// define $mysqli
if ($mysqli->query("UPDATE mytable SET online=".$status." WHERE id=".$id_pro." ") === TRUE) {
$data = array('check'=>'new_class','check_text'=>'new text','result'=>'1');
}
// $result->close(); // ????
}
print json_encode($data);