Как я могу избежать символа «&» в POST в JavaScript

-2

Я отправляю HTML через POST, и '& messing it up, как я могу его избежать? Пробовал заменить & с \&, не работал.

Для получения дополнительной информации: я пытаюсь использовать шаблоны электронной почты в собственном проекте, и такие вещи, как & nbsp, завинчивают POST, который я использую, чтобы отправить их с javascript на php.

код ниже:

emailcontinut = CKEDITOR.instances['emailContinut'].getData();
var parametri = "Trimite="+trimite + "&codc="+codc + "&emailSubiect="+emailsubiect + "&emailContinut="+emailcontinut + "&adact="+adact + "&sid="+Math.random();


xmlhttp_email_actiune.open("POST",url,true);
xmlhttp_email_actiune.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
xmlhttp_email_actiune.setRequestHeader("Content-length", parametri.length);
xmlhttp_email_actiune.setRequestHeader("Connection", "close");
xmlhttp_email_actiune.send(parametri);

когда я повторяю $ _POST ['emailContinut'] в целевом PHP, он останавливается при первом '&' в & nbsp

решение было просто

emailcontinut =  escape(emailcontinut); 

в javascript, а затем с помощью stripslashes() в php для его декодирования. Благодарю.

  • 0
    & через POST ? Дайте нам пример url !
  • 0
    Каким образом это & "баловаться его? Вы уверены, что это post а не get ?
Теги:

3 ответа

1
Лучший ответ

Вам просто нужно использовать escape-функцию JS для кодирования URL-адреса и отправки вызова ajax с использованием кодированного URL-адреса, например:

var url = "http://127.0.0.1/ajaxResource.php?p1=100&p2=2000&p3=name";
url = escape(url); //Now the user is encoded use this url in ajax

JP

  • 0
    спасибо, это сработало.
3

Вам необходимо URL-кодировать и/или кодировать HTML-код в зависимости от того, что вы на самом деле делаете.

  • 0
    Я просто отправляю HTML через POST (с помощью ajax) и отображаю его на другой странице, и он всегда ломается при первом &
  • 0
    @ Богдан: определить "это" и "разрывы". Вы делаете несколько вещей, которые работают по-разному. Как это ломается?
0

Попробуйте заменить их на &

Он работает для href- и src-атрибутов в HTML

Ещё вопросы

Сообщество Overcoder
Наверх
Меню