繁体   English   中英

来自PHP的JSON编码数据,从jQuery回调时无法正确显示

[英]JSON encoded data from PHP, doesn't display right when callback from jQuery

我的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);
}

提前致谢..

dataType: 'json'添加到您的ajax选项中。

更好的解决方案可能是添加一个

header('Content-Type: application/json');

在PHP端, 指定响应的数据类型。 这样,jQuery将自动知道将响应解析为一个对象,而无需从客户端指定dataType: "json"

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM