javascript - Mootools 请求对象不允许我的查询字符串中有 '+' 标志

标签 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”)

这是怎么回事?有没有办法解决这个问题?

最佳答案

对于任何想知道的人来说,我的问题最终出在服务器端。一旦数据到达服务器端,我试图将其合并到另一个 URL 中,但服务器已经将 %20 和 + 解析为空格。因此必须在服务器端进行一些字符串操作。

关于javascript - Mootools 请求对象不允许我的查询字符串中有 '+' 标志,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7264807/

相关文章:

javascript - Tracker afterFlush 函数出现异常 : fabric. Canvas 不是构造函数

javascript - 停止 anchor 元素重新加载和/或滚动到顶部

javascript - 无法找到带有查询字符串参数的文档

javascript - 使 @username 可点击 jquery

javascript - 通过 javascript onDomReady 设置 div 宽度

facebook - FQL 应用程序限制错误

ios - 如何使用 Alamofire 制定一个良好的模式来控制多个请求依赖关系?比如request2需要request1的响应

javascript - 什么时候在 React 中保存状态是安全的?

javascript - 在eclipse中连接javascript文件? (PureMVC Mootools)

VBS 中的 HTTP GET