Это может показаться странным, но у меня проблема с JQ/AJAX/PHP.JQuery ajax php post problem
Мой «код» там и работает в большинстве ситуаций, кроме 1 - когда я пытаюсь передать тег в процессе.
я захватить HTML, как этот
var ed = $('#fraRTE').contents().find('body #editarea').html();
#fraRTE
является IFrame ширина редактируемой DIV #editarea
следовательно .contents().find('body #editarea').html()
Так что если var ed
просто «привет мир и т.д ....» нет никаких проблем и данные обрабатываются НО, если var ed
что-то вроде «привет мир и т. д.» <img src="image.png">
«данные не обрабатываются - странно, если var ed
« привет мир и т. д. <img src="image.png">
»- нет разрыва между текстом и изображением данные фактически обрабатываются.
Если я alert(ed)
до поста, то я вижу «правильную» строку - независимо от того, что этого содержания, пост так:
var data = 'content='+ed;
$.ajax({
type: 'post',
url: 'script.php',
data: data,
success: function(msg) {
alert(msg);
}
});
Я создаю строку данных перед «данными: данные», так как в строке есть несколько элементов.
мой alert(msg)
устанавливается echo $_POST['content'];
на script.php
предупреждение (MSG) говорит мне, что есть (или не) была размещена в БД. здесь я вижу проблему, упомянутую выше. то есть включение (или нет) <img...>
предложения, пожалуйста,
'var data = 'content =' + ed;' - лучше использовать 'var data = {content: ed};' – ThiefMaster
@ThiefMaster - извините, но почему? - Я все еще новичок в JQ, это все –
Это гарантирует, что вам не нужно заботиться о специальных символах, таких как '&' в ваших данных. jQuery будет сериализовать массив в правильно закодированную строку для вас. – ThiefMaster