我有一个调用php文件的ajax调用,该文件运行一个长PHP函数,它返回一个JSON编码的数组/对象.现在我需要将HTML也发送到ajax响应中.我想过在数组中发送HTML.
这是一个好习惯吗?
现在我无法使它工作,我获得了NULL该属性的值.不知道为什么.
$statHTML = '<table>';
foreach ($toHTML as $key=>$value) {
$statHTML.= '
<tr class="'.$key.'">
<td class="side">'.$value[0].'</td>
<td>'.$value[2].' '.$value[1].'</td>
</tr>';
}
$statHTML.= '</table>';
// echo $statHTML; // - this works
//function return
$answer = array('mostSearched'=>$mostSearched,
'timeOfDay' => $timeOfDay,
'mostSearchedDays'=>$mostSearchedDays,
'statHTML' => $statHTML
);
return json_encode($answer);
Run Code Online (Sandbox Code Playgroud)
来自控制台的ajax响应JSON.parse():
{
"mostSearched": {
"title": "Most serached houses",
"colNames": [21],
"rowNames": [2013],
"rows": [1]
},
"timeOfDay": {
"title": "Time of search",
"colNames": ["07:30"],
"rowNames": ["07:30"],
"rows": [
[1]
]
},
"mostSearchedDays": {
"title": "Most searched days",
"colNames": ["2013-12-21", "2013-12-22", "2013-12-23", "2013-12-24", "2013-12-25", "2013-12-26", "2013-12-27"],
"rowNames": ["2013-12-21", "2013-12-22", "2013-12-23", "2013-12-24", "2013-12-25", "2013-12-26", "2013-12-27"],
"rows": [
[1, 1, 1, 1, 1, 1, 1]
]
},
"statHTML": null
}
Run Code Online (Sandbox Code Playgroud)
来自php.net:
参数
值
正在编码的值.可以是除资源之外的任何类型.
所有字符串数据必须采用UTF-8编码.
所以使用:
$answer = array('mostSearched'=>$mostSearched,
'timeOfDay' => $timeOfDay,
'mostSearchedDays'=>$mostSearchedDays,
'statHTML' => utf8_encode($statHTML)
);
return json_encode($answer);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3902 次 |
| 最近记录: |