我正在通过POST发送HTML并且'&'正在弄乱它,我该如何避免它?尝试更换&与\&,没有用。
有关更多信息:我正在尝试在内部项目中使用电子邮件模板,而且正在调整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);
当我在目标PHP中回显$ _POST ['emailContinut']时,它会在第一个'&'处停止在& nbsp
中解决方案只是
emailcontinut = escape(emailcontinut);
在javascript中然后在php中使用stripslashes()来解码它。感谢。
答案 0 :(得分:3)
您需要对内容进行网址编码和/或HTML编码,具体取决于您实际执行的操作。
答案 1 :(得分:1)
您只需要使用转义JS函数对URL进行编码,并使用编码的URL发送ajax调用,例如:
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
答案 2 :(得分:0)
尝试用&
适用于HTML
中的href-和src-attributes