我有以下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')
这是怎么回事?它有办法吗?
答案 0 :(得分:0)
对于任何想知道的人,我的问题最终都是服务器端。一旦数据到达服务器端,我就试图将它合并到另一个URL中,但服务器已经将%20和+的解析为空格。所以不得不在服务器端进行一些字符串操作。
答案 1 :(得分:-1)
你需要转义加号,因为它是HTML Url中的保留字符
将其替换为+