我想使用AJAX調用來獲取一些數據並通過JSON將多個數據片段返回給調用者。它適用於某些包含簡單輸出的測試。但是,當返回的元素之一是HTML時,它不起作用。對此有何想法?PHP json_encode函數返回空白{}
// get_answer() pulls some HTML back from an XML document
$answer = $_SESSION['quiz_session']->get_answer();
// test output to make sure everything is working
echo $answer;
/** sample output **
*
<div>
<p>
<b>
<span class="gloss-def">a downward slope</span>
</b>
</p>
<p>Because the village was situated on the
<i>declivity</i> of a hill, it never flooded.
</p>
<p>
<i>Synonyms: decline; descent; grade; slant; tilt</i>
</p>
</div>
*
** end sample output **/
echo json_encode($answer);
// will output {}
'json_encode()'會做,如果它在輸入中遇到非UTF8字符。雖然你的例子似乎並不包含任何這樣的字符。 –
在編碼爲json之前,嘗試'utf8_encode($ answer)'。 – Rudie
但是,只有在獲取的數據碰巧在ISO-8859-1/latin1中編碼時,這纔會有用。最好先嚐試一下,看看究竟發生了什麼 –