2013-04-11 110 views
-4

我想通過使用JQuery的getJSON將json_encode-d數組從PHP傳遞到JavaScript,然後將其顯示在HTML中。除了當我想傳遞基本的HTML標籤時,它在任何情況下都可以正常工作,例如3 顯示爲:如何通過getJSON傳遞HTML標籤?

3<sup>4</sup> 

它正常工作時,我有:

var myVar = <?php echo json_encode(jsonArray); ?>; 

但我需要使用的getJSON爲好。有沒有簡單的方法來做到這一點?也許我沒有弄清楚正則表達式?

+0

傳遞數據*從那裏*到JavaScript的?你究竟發送了什麼,你收到了什麼?這根本不清楚。 – Pointy

+1

'getJSON'和'json_encode'不會做同樣的事情。 'getJSON'是一個返回JSON對象的AJAX調用;但是,通過AJAX返回的內容需要格式正確的JSON字符串。你的例子中的'json_encode'只是將一個數組轉換爲格式正確的JSON字符串。 – Drew

+0

@Drew - 當然 - 所以PHP json_encode將PHP數組轉換爲格式正確的JSON字符串,getJSON將其傳遞給JavaScript對象。如何在這些字段之一中隱藏HTML標記,以便在使用innerHTML或createTextNode將它們添加到文檔時,它們將被視爲HTML標記而不是字符串? – JSP64

回答

0

試試這個:

$('#YourTarget').html($('<div/>').html(yourStringFromJSON).text());

例如:

$('h1').html($('<div/>').html('Hola&lt;sup&gt;Hey&lt;/sup&gt;').text());

0

這裏是反轉義正斜槓正則表達式:

var cleanString = dirtyString.replace(/\\\//g,"/");