打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
关于 HTTP post 请求 form data 里的特殊符号,比如加号 plus symbol
userphoto

2022.06.21 四川

关注

对于终端用户来说,表单提交的过程很方便,在某种程度上相当于输入数据,点击提交按钮。 但是,从工程的角度来看,它需要一种编码机制才能可靠地将这些数据从客户端发送和接收到服务器端以进行后端处理。

使用 JavaScript 发送 form data,使用 PHP 作为服务器端接收,则 JavaScript 端需要使用 encodeURIComponent() 进行处理。

表单提交最常用的 HTTP 方法是 POST。 但是,对于幂等的表单提交,我们也可以使用 HTTP GET 方法。 并且,指定方法的方式是通过表单的方法属性。

对于使用 GET 方法的表单,整个表单数据作为查询字符串(query string)的一部分发送。 但是,如果我们使用 POST 方法,那么它的数据将作为 HTTP 请求正文(body)的一部分发送。

而且,在后一种情况下,我们还可以通过表单的enctype属性来指定数据的编码方式,该属性可以取两个值,分别是application/x-www-form-urlencoded 和 multipart/form-data

HTML 表单的 enctype 属性的默认值为 application/x-www-form-urlencoded,因为它处理了数据完全是文本的基本用例。 然而,如果我们的用例涉及支持文件数据,那么我们将不得不用 multipart/form-data 的值覆盖它。

本质上,它将表单数据作为键值对发送,并由 & 字符分隔。 此外,相应的键和值用等号 (=) 分隔。 此外,所有保留字符和非字母数字字符都使用百分比编码进行编码。

看下面的代码:

// url encode your stringvar string = encodeURIComponent('+'); // "%2B"// send it to your serverwindow.location = 'http://example.com/?string='+string; // http://example.com/?string=%2B
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
Enctype 属性 简介及使用方法小结 - 超越论坛 - Beyond Forum
微信自带浏览器不支持form表单post提交方案解决
web
[转载]几种表单提交方法的总结及get与post的区别
post和get的区别
表单的提交方式POST和GET有什么区别
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服