Я пытаюсь передать данные HTML на сервер через AJAX. В конечном итоге я хочу сохранить полный код HTML, включая любые встроенные определения CSS, в базе данных. Я не хочу вносить какие-либо изменения в данные HTML, просто храните их как есть. Моя проблема в том, что когда я передаю данные HTML через AJAX, когда они достигают сервера, встроенный CSS удаляется, но не только, он неправильно удаляется, оставляя неверный HTML.
Вот пример того, что я пытаюсь сделать:
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 были отправлены на сервер в целости и сохранности. Любые идеи о том, как я могу сделать это?