Ajax POST XMLHttpRequest()无法使用&发送参数字符

时间:2014-12-04 17:16:40

标签: javascript ajax post xmlhttprequest

在我的代码中,我必须发送一个像这样的ajax POST调用:

var http = new XMLHttpRequest();
var url = "get_data.php";
var params = "bac="+pa+"&seid="+psid+"&wh="+height;
http.open("POST", url, true);

问题是,例如,如果变量psid包含一些& char,like" test.php?P1 = 12& P2 = 232& P3 = 123"呼叫只传递部分" test.php?P1 = 12",截断第一个&amp ;. 我必须使用这个方法,而不是jQuery $ .post,但我无法弄清楚如何使用& char内。

提前致谢

AM

1 个答案:

答案 0 :(得分:1)

&是用于分隔表单编码数据(包括查询字符串)中的键/值对的字符。

如果要将其作为数据发送,则必须将其作为%26转义。

encodeURIComponent()会为你做到这一点。