如何通过AJAX发送“&”(符号)字符?

我想用JavaScript中的POST方法发送几个变量和一个字符串

我从数据库中获取字符串,然后将其发送到PHP页面。我使用的是XMLHttpRequest对象

问题是字符串包含字符&amp多次,PHP中的$\u POST数组将其视为多个键

我试图更换&amp与\&amp使用replace()函数,但它似乎没有任何作用

有人能帮忙吗

javascript代码和字符串如下所示:

var wysiwyg=dijit.byId(“所见即所得”).get(“值”);
var wysiwyg_clean=wysiwyg.replace(“&”、“\&”);
var poststr=“act=save”;
poststr+=“&titlu=“+frm.value.titlu;
poststr+=“&sectiune=“+frm.value.sectiune;
poststr+=“&wysiwyg=“+wysiwyg_clean;
poststr+=“&id_text=“+frm.value.id_text;
open(“POST”,“lista_ajax.php”,true);
setRequestHeader(“内容类型”,“应用程序/x-www-form-urlencoded”);
xmlhttp.send(poststr);

字符串是:

<span class=“style2”&gt&引用;布索拉;引用&lt/span>

您可以使用encodeURIComponent()

它将转义URL中无法逐字出现的所有字符:

var wysiwyg_clean=encodeURIComponent(所见即所得);

在本例中,符号和字符&amp将替换为转义序列%26,该序列在URL中有效

发表评论