我的HTML / jQuery代码
<div id="divResult"></div>
function doSearch(str){
var jsonString = str;//$.parseJSON//JSON.stringify(str);
$.ajax({
type:'GET',
url:'search.php',
data:{data:jsonString},
success:function(data){
for( var key in data ) {
alert(key);
}
});
}
我的问题是,当我尝试解析JSON(显示它)时,我没有得到预期的结果,数据以每行每行的方式显示,例如。
JSON数据是[{“userid:1,name:paul”},{“userid:5,name:jackson”}]
浏览器上的显示是这样的,
[
{
"
u
s
e
r
i
d
:
1
等等......
我无法理解?有什么问题吗?我用jsFiddle尝试了我的js代码,看起来不错,
我期待这样的事情;
1 Paul
5 Jackson
PHP代码是;
if ($stmt->execute(array("%$_GET[data]%"))) {
while ($row = $stmt->fetch()) {
$aResult[] = array(
'userid' => $row['ui_userid'],
'category' => $row['ui_jocategory']
);
//print_r($aResult);
}
echo json_encode($aResult);
}
提前致谢..
答案 0 :(得分:4)
将dataType: 'json'
添加到您的ajax选项。
答案 1 :(得分:2)
更好的解决方案可能是添加
header('Content-Type: application/json');
在PHP端,specifying响应的数据类型。通过这种方式,jQuery将自动知道将响应解析为对象,而无需从客户端指定dataType: "json"
。