我有以下 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”)
这是怎么回事?有没有办法解决这个问题?
最佳答案
对于任何想知道的人来说,我的问题最终出在服务器端。一旦数据到达服务器端,我试图将其合并到另一个 URL 中,但服务器已经将 %20 和 + 解析为空格。因此必须在服务器端进行一些字符串操作。
关于javascript - Mootools 请求对象不允许我的查询字符串中有 '+' 标志,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7264807/