我正在尝试从PHP jQuery传递JSON,将其转换为SQL查询数组后,出现以下JavaScript错误。
JSON.parse: unexpected character
返回SQL结果的函数:
public function selectassocSql($sql){
$i = 0;
$resSelect = array();
mysql_query("SET NAMES 'utf8'");
$result = mysql_query($sql);
while ( $row = mysql_fetch_assoc($result) )
{
$resSelect[$i] = $row;
$i++;
}
mysql_free_result($result);
return $resSelect;
}
在这样使用该函数后,
$sql = "SELECT id, code, name FROM table WHERE code LIKE '%$codcli%' ";
$v = $data->selectassocSql($sql);
echo json_encode($v, JSON_FORCE_OBJECT);
以下是 JavaScript 代码:
$('#formclientes').submit(function(e){
e.preventDefault();
$.ajax({
type: 'POST',
url:$(this).attr('action'),
data:$(this).serialize(),
success:function(data)
{
//console.log("SUCCESS " + data);
var json_cli = $.parseJSON(data);
}
})
})
我该如何纠正这个错误并从jQuery中读取JSON数据?
json_encode($v, JSON_FORCE_OBJECT)
输出的例子会很有帮助。 - Felix Klingjson_encode
总是返回有效的 json(例如字符串(4)"null"
),但是,错误报告和显示错误可能设置为输出除 json 字符串之外的更多内容。 - hakre