我試圖通過AJAX將HTML數據傳遞給服務器。我最終希望將完整的HTML代碼(包括任何內聯CSS定義)存儲在數據庫中。我不想對HTML數據進行任何更改,只是按原樣進行存儲。我的問題是,當我通過AJAX傳遞HTML數據時,當它到達服務器時,內聯CSS已被刪除,但不僅如此,它被錯誤地刪除,從而留下無效的HTML。jQuery AJAX從HTML數據中剝離出嵌入式CSS
這裏是我想要做的一個樣本:
var the_html = {'html':'<p><span style="font-size:42px;"><span style="color:#f00;">
Some text</span></span></p>'};
$.ajax({
type: 'POST',
url: 'ajax.php',
data: the_html,
success: function (data) {
alert(data);
}
});
當數據到達它看起來像這樣的服務器:
<p><span>span style="color:#f00;">Some Text</span></span></p>
在我看來,像jQuery的嘗試將所有內聯CSS去除,但通過去除第二個span標籤的開角支架,將其與第一個span標籤搞砸。在通過AJAX發送數據之前,我試圖轉義數據,但結果相同。另外,我使用的是對象字面量的語法,因爲我有更多的數據要通過比例,我希望它是一個關聯數組,當它到達服務器。
我不希望內聯CSS被剝離出來。我希望所有的標記加上任何CSS完整地發送到服務器。任何想法如何我可以做到這一點?
你嘗試透過JSON.stringify? – PhD
我試着在數據上調用JSON.stringify,但服務器端告訴我請求中有「不允許的字符」。 – James
javascript的escape()函數怎麼樣? – PhD