在JKL.Parsexml中转义单引号

时间:2013-05-14 07:54:25

标签: javascript jquery xml-parsing

我在通过xml解析器转义单引号时面临一个奇怪的问题:

var strCallUrl = contextPath + "Controller?formfilter=registration&selectedUserType="+userType+"&emailID="+advisorEmail;
strCallUrl = strCallUrl.replace(/'/g, "\'");
alert(strCallUrl);
var objSeamlessRegLoad = new JKL.ParseXML.Text(strCallUrl,'','POST');

当我点到最后一行时,由于在电子邮件地址(var advisorEmail)中插入了单引号,它没有前进,在该变量中没有单引号,它工作得很好。 是否可以通过JKL.ParseXML.Text()转义单引号?

我已经尝试过“\”并尝试转义(strCallUrl),但这些似乎都没有用。

1 个答案:

答案 0 :(得分:0)

使用escape会有效,但您将它应用于整个网址,这也会对网址中不应编码的所有内容进行编码。

仅在值上使用它,并改为使用encodeURIComponent methodBest practice: escape, or encodeURI / encodeURIComponent):

var strCallUrl = contextPath + "Controller?formfilter=registration&selectedUserType="+userType+"&emailID="+encodeURIComponent(advisorEmail);
alert(strCallUrl);
var objSeamlessRegLoad = new JKL.ParseXML.Text(strCallUrl,'','POST');