加号转换为Google Apps Script + MySQL中的空格
Plus Signs converted to spaces in Google Apps Script + MySQL
我正在使用Google Apps作为Web应用程序的REST API,但发现每当我尝试插入新记录时,API都不会保留加号。由于浏览器上的同源策略,JSON 必须作为 URL 上的参数传递给 API。该过程首先对 JSON 进行强化,然后使用 JavaScript 中的 escape 函数对值进行转义。
但是,一旦请求到达Google Apps,在到达doGet()之前解析请求对象的Google进程会将未转义的"+"视为空格。
这是一个非常令人抓狂的错误,所以如果其他人遇到它,我希望我修复它的经验有所帮助。只需使用 encodeURIComponent() 而不是 escape(),这应该就可以了。
都不是。
使用预准备语句。它们消除了对作为参数传递的内容的任何关注。这就是它们存在的原因。
真是一条红鲱鱼!
所以这就是发生的事情。我有一个 URL,其中包含对 API 的请求,以插入具有包含加号值的记录。在客户端,我正在使用 escape 函数来执行此操作,但 escape 函数没有对加号进行编码。但是,当请求通过服务器端时,显然Google Apps后端上解析URL参数的任何组件都将加号视为空格。很难识别,因为在Google Apps脚本本身中,使用unescape成功解码了参数,从而使MySQL看起来是问题所在。
解决方案是什么?我改用 encodeURIComponent 而不是 escape,现在它可以工作了!
相关文章:
- 我如何找到一个句子中的所有空格并替换忽略它们
- Regex代码只允许一个空格
- 使用jquery将mysql数据获取到新的表行中
- Javascript,有没有一种方法可以将数组写成没有逗号或空格的单个文本字符串
- 拆分文本以每隔n个字符添加一行新行,并注意空格
- 用空格替换下划线PHP
- 如何为jQuery屏蔽输入插件创建一个允许字母数字、空格和重音字符的掩码
- 将地理编码结果转换为php变量以发布到mysql数据库
- 当没有文本输入聚焦时检测空格键按下
- 一个密码测试程序,如果存在空格,它会提醒用户
- 在谷歌应用程序脚本中转换为空格的制表符
- 如何将字符串拆分为字符,但在javascript中保留空格
- Jquery:如何获取所选选项全文(带空格)
- 如何使用JS禁用表行,并在MYSQL中插入所选选项
- 从MySQL数据库中获取输入数据需要两次页面刷新
- 将一个表的id与另一个表中的user_id进行匹配,以获取mysql中的记录
- 如何在没有额外空格的情况下从MySQL中检索字符数据
- 加号转换为Google Apps Script + MySQL中的空格
- MySQL数据库中累积空格的字符串值
- 我如何应用MYSQL限制字段值中的空格