我正在尝试进行一个非常简单的查询:
$.ajax({
url: "ajaxfunc.php",
dataType: 'json',
success: function(data){
alert(data.resp);
}
});
在ajaxfunc.php我有
<?php echo json_encode(array("resp"=>"1")); ?>
但由于一个奇怪的原因,数据始终为null,而data.resp未定义。
问题出在哪里?
答案 0 :(得分:1)
您忘记在PHP中设置内容类型。
header('Content-Type: application/json');
在jQuery中设置dataType: 'json'
时,它实际上需要来自服务器的JSON内容。
答案 1 :(得分:0)
你可以试试这个:
<?php
$data->resp = 1;
echo json_encode($data);
?>
答案 2 :(得分:0)
我在我的系统中工作了。
<script language="javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.js"></script>
<script language="javascript">
$(document).ready(function(){
$.ajax({
url: "b.php",
async:false,
dataType: 'json',
success: function(data){
alert(data.resp);
}
});
});
</script>
b.php
<?php
$k['resp'] = 66;
echo json_encode($k);
?>