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

简介: 对于终端用户来说,表单提交的过程很方便,在某种程度上相当于输入数据,点击提交按钮。

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


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


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


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


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


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


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


看下面的代码:

// url encode your string
var string = encodeURIComponent('+'); // "%2B"
// send it to your server
window.location = 'http://example.com/?string='+string; // http://example.com/?string=%2B


目录
相关文章
|
XML JSON 数据处理
postman 中 body的form-data,x-www-form-urlencoded,raw,binary含义
postman 中 body的form-data,x-www-form-urlencoded,raw,binary含义
416 0
postman 中 body的form-data,x-www-form-urlencoded,raw,binary含义
|
5月前
|
Web App开发 前端开发 JavaScript
AJAX POST请求中参数以form data和request payload形式在servlet中的获取方式
AJAX POST请求中参数以form data和request payload形式在servlet中的获取方式
33 0
|
6月前
|
JavaScript
拼接中文参数时,报错is not defined
拼接中文参数时,报错is not defined
17 0
|
8月前
|
JavaScript 前端开发 测试技术
关于 HTTP post 请求 form data 里的特殊符号,比如加号 plus symbol
关于 HTTP post 请求 form data 里的特殊符号,比如加号 plus symbol
96 0
|
10月前
|
JSON PHP 数据格式
PHP中json传递请求字符串网址函数http_build_query()与parse_str(),将POST参数组转换拼接成GET请求链接
PHP中json传递请求字符串网址函数http_build_query()与parse_str(),将POST参数组转换拼接成GET请求链接
100 0
|
JavaScript 前端开发 C#
Http请求,base64加号变空格
Http请求,base64加号变空格
533 0
|
PHP
Undefined index: HTTP_REFERER 解决方法
Undefined index: HTTP_REFERER 解决方法
176 0
Undefined index: HTTP_REFERER 解决方法
使用正则表达式解析http请求url中的参数和参数值
使用正则表达式解析http请求url中的参数和参数值
423 0
使用正则表达式解析http请求url中的参数和参数值
|
Web App开发 安全
GET和POST到底啥区别???
最普遍的答案 我一直就觉得GET和POST没有什么除了语义之外的区别,自打我开始学习Web编程开始就是这么理解的。 可能很多人都已经猜到了,他要的答案是: GET使用URL或Cookie传参。
967 0