我正在尝试将getJSON函数与回显一些JSON的PHP文件一起使用。如果我将PHP文件中预期的JSON保存为JSON文件,它的工作原理很完美,但是如果我使用PHP文件作为URL它就不起作用,因为它在第1行第1列解析PHP时失败。
PHP文件:
<?php
$jsondata = array();
if( isset($_GET['param']) ) {
if( $_GET['param'] == 'valor' ) {
$jsondata['success'] = true;
$jsondata['message'] = 'Correct.';
} else {
$jsondata['success'] = false;
$jsondata['message'] = 'Incorrect.';
}
header('Content-type: application/json; charset=utf-8');
echo json_encode($jsondata);
exit();
}
?>
这就是我在Javascript文件中使用的内容:
$.getJSON('test.php', {format: "json"}, function(data) {
window.alert("Loaded");
}).fail( function(data, textStatus, error) {
console.error("getJSON failed, status: " + textStatus + ", error: "+error)
});
如果我从test.php更改为test.json,则可以正常工作。
编辑:我使用mysql而不是mysqli,服务器输出一个表然后我的JSON,这就是为什么我有JSON错误解析... 修复了从mysql到mysqli的变化。 谢谢大家。
答案 0 :(得分:0)
试试这个:
if( $_GET['param'] == 'valor' ) {
$row = array('success'=> true,'message'=>'Correct');
array_push($jsondata,$row);
} else {
$row = array('success'=> false,'message'=>'Incorrect');
array_push($jsondata,$row);
}
回声保持不变:
echo json_encode($jsondata);
当我不得不使用JQuery和PHP与JQuery一起工作时,我编码是这样的。我希望它也适合你。