Mootools请求对象不让我的查询字符串中有'+'符号

时间:2011-08-31 23:54:23

标签: javascript mootools request

我有以下Javascript / Mootools代码:

var str = self.tI.get('value').replace(/\s/g,'+'),
    data = 'action=getplaces&str=' + str + '&latLng=' + $('coords').get('value'),
    r = new Request({
        url: 'action.php',
        method: 'get',
        link: 'cancel',
        onSuccess: function (response) {
            /* Do Stuff */
        }
    }).send(data);
console.log(str);

在第一行,我用+符号替换任何空格。当我在控制台中记录str的值时,我得到了适当的值(即:'blabla + bla')

但是,当我发送请求时,我的请求失败了。如果我查看标题和查询字符串,只需用空格替换+号(即:'blabla bla')

这是怎么回事?它有办法吗?

2 个答案:

答案 0 :(得分:0)

对于任何想知道的人,我的问题最终都是服务器端。一旦数据到达服务器端,我就试图将它合并到另一个URL中,但服务器已经将%20和+的解析为空格。所以不得不在服务器端进行一些字符串操作。

答案 1 :(得分:-1)

你需要转义加号,因为它是HTML Url中的保留字符 将其替换为+