Я разрешаю пользователям редактировать веб-страницы с помощью CKEditor, а затем сохранять их измененные фрагменты HTML-кода на сервере, чтобы я мог показывать их на последующих страницах.
Я использую этот код для отправки HTML-кода и нескольких идентификаторов на сервер:
var datatosend = JSON.stringify( { page: 1, block: 22, content: editor1.getData() } );
$.ajax({
url: "/ajax/fragment/",
type: "POST",
dataType: 'json',
data: "data=" + datatosend,
success: function (html) { },
error: function (xhr, status, msg) {
alert( status + " " + msg );
}
});
И на стороне сервера я использую PHP и делаю это:
$json = stripslashes( $_POST[ "data" ] );
$values = json_decode( $json, true );
Это часто работает при отправке фрагментов, отличных от HTML, но не работает, когда в содержимом отправляется что-то подобное:
<img alt="" src="http://one.localbiz.net/uploads/1/Dido-3_2.JPG" style="width: 173px; height: 130px;" />
Я действительно не уверен, что я должен делать с точки зрения кодирования данных на стороне клиента, а затем декодирования на стороне сервера? Также не уверен, что dataType: 'json' лучше всего использовать здесь?