1

Помогите пожалуйста, при отправке переменной JavaScript, содержащей HTML код, с помощью ajax методом post происходит следующие

var text = "<span style = 'color: red;'></span>";
$.ajax({
      url: "edit.php",
      type: "POST",
      datatype: "html",
      data: ({text}),
      success: div_edit
    });
<?
$text = $_POST["text"];
echo $text;
// в index.php выводится это <span style = "\"color:"  red;\"></span>
?>
<span style = 'color:  red;'></span>

превращается в

<span style = "\"color:"  red;\"></span>

как это можно предотвратить? Код:

  • Очевидно, зависит от того, как чем отправляете и как чем потом читаете – andreymal Sep 05 '17 at 07:25
  • PHP-код появился — прогресс) Но всё-таки как чем вы читаете переменную $text? – andreymal Sep 05 '17 at 07:55
  • Появился echo — ещё прогресс) Тем не менее, я выполнил этот код у себя, и php мне вывел <span style = 'color: red;'></span> — в точности то, что отправилось в ajax. В общем, не воспроизводится ваша проблема – andreymal Sep 05 '17 at 08:12
  • Я все рассказал –  Sep 05 '17 at 08:29
  • Но всё же код из вопроса работает абсолютно нормально и кавычек не портит, увы ¯\(ツ) – andreymal Sep 05 '17 at 08:32
  • Ничего не понимаю, все проверил ещё раз, не работает –  Sep 05 '17 at 09:15
  • Вы точно смотрите непосредственно вывод echo, а не результат обработки ответа внутри js-функции div_edit? Которую вы нам не показали. – andreymal Sep 05 '17 at 09:28
  • Да, все перепроверено, это не может быть защита от вредоносного HTML или JavaScript кода? –  Sep 05 '17 at 09:47
  • Может, только если вы ещё что-то скрываете от нас, потому что с текущим кодом из вопроса всё в порядке и никаких защит там нет – andreymal Sep 05 '17 at 10:09

0 Answers0