我在我的数据库上使用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
$data = /** whatever you're serializing --- array/object **/;
header('Content-Type: application/json');
echo json_encode($data);
从PHP脚本返回JSON