我正在尝试使用php和AJAX返回一个值,但是这样做时会返回以下内容。我的代码的这部分功能已在以前的项目中运行,所以我对它为什么会发生这种情况感到有点困惑。
返回值:
<«VÊÏV²2ÔQ*)。V²qjÜ¥5.25
应该返回这样的内容:
{"ok":1,"status":"ok"}
我正在使用的PHP:
$response = array('ok' => 0);
if($results)
{
$response['ok'] = 1;
$response['status'] = ($visible == 'visible') ? 'ok' : 'no';
}
ob_clean();
header('Cache-Control: no-cache, must-revalidate');
header('Expires: Mon, 26 Jul 1997 05:00:00 GMT');
header('Content-type: application/json');
echo json_encode($response, true);
exit;
现在,如果我删除了代码并放入自己的文件,它可以正常工作。我将所有文件和数据库设置为UTF-8。
答案 0 :(得分:0)
第2行有一个重复的右括号。
应该是:
$response = array('ok' => 0);
if($results)
{
解决这个问题,你的代码适合我:
{"ok":0}
如果我强行$results = true;
:
{"ok":1,"status":"no"}
答案 1 :(得分:0)
我现在感觉很蠢,我在ob_start()中运行了ob_gzhandler;
向所有人道歉。