使用jquery检索json数据


retrieve json data using jquery

我在我的数据库上使用mysql查询,并在我的php脚本中使用fetch_array()函数构建行数组,并将其转换为json。现在,在我的ajax成功代码中,可以看到控制台日志中的行如下

" {" 0 ": " 84 ", " id ": " 84 ", " 1 ":"北京电视台"、"news_name":"北京电视台","2":"北京电视台"、"news_title":"北京电视台"、"3":"孟加拉国电视"、"news_description":"孟加拉国电视"、"4":"/管理/模板/img/default_logo.png"、"news_logo":"/管理/模板/img/default_logo.png"、"5":"达卡,达卡,孟加拉国"、"news_address":"孟加拉国"、"6":"自由","subs_status":"自由","7":"33"、"newscreatedbyID":"33"、"8":"2014-08-21"、"newscreateddate":"2014-08-21"、"9":空,"赞助":空,"10":"0"、"protectstatus":"0"、"11":"0"、"批准":"0"}"

我的js成功函数如下:

$.ajax({
url: "/function/news_user_page.php",
type: "POST",
data: {news_name:'84'},
success:function(data, textStatus, jqXHR)
        {
         $("#test").html(data.news_title);
         console.log(data);
        },
error: function(jqXHR, textStatus, errorThrown)
        {
            //if fails     
        }
})

我可以在控制台日志中看到整个数据,但在名为test的html元素中,news_title现在正在显示。数据。News_title不工作。如何访问我转换json数据?

看起来你有一个字符串版本,在AJAX请求中设置dataType以自动将其转换为JSON:

dataType: "JSON",

或者,在响应

上使用JSON.parse
var parsed = JSON.parse(data);

尝试将dataType设置为json

回显数据将只返回一个字符串。使用echo json_encode( $data );代替。

以下是你可以在PHP中做的事情,以确保json从你的服务器发送:
<?PHP
$data = /** whatever you're serializing --- array/object **/;
header('Content-Type: application/json');
echo json_encode($data);

从PHP脚本返回JSON