html

<form id="userForm1" enctype="application/x-www-form-urlencoded" method="get" action="http://localhost/pc/enc/t1">

输入

2+2
2 2 浏览器: http://localhost/pc/enc/t1?name=2%2B2&nick=2+2&pass= 后台 入参 : [Request(GET //localhost:3070/pc/enc/t1?name=2%2B2&nick=2+2&pass=)@298a8a52]
request获取:
- -------------name:2+2----------------------------
- -------------nick:2 2----------------------------

  

html:

<form id="userForm2" enctype="application/x-www-form-urlencoded" method="post" action="http://localhost/pc/enc/t2">

输入:
2+2
2 2 浏览器:
http://localhost:3070/pc/enc/t2 后台:
入参 : [Request(POST //localhost:3070/pc/enc/t2)@edf57b2]

- -------------name:2+2----------------------------
- -------------nick:2 2----------------------------

总结:在form表单中编码格式application/x-www-form-urlencoded的时候 get提交 比如参数name=2+2 -》  浏览器会变成name=2%2B2 -》 后台接口获取参数的时候根据编码规则会正常显示2+2
form表单中编码格式application/x-www-form-urlencoded 
简而言之(application/x-www-form-urlencoded):

2+2 -》2%2B2 -》 2+2
2 2 -》2+2 -》 2 2 以上描述的就是 从浏览器用户填写提交到浏览器跳转到后台 整个一个闭环结束了,是一个完整的步骤。 而有些情况下我们看到这样的描述 空格变+号 +号变空格 这个又是怎么回事呢? 我遇到的情况是这样的:
1.先说+号变空格 比如:你在浏览器输入 localhost/pc/name=2+2 你会发现你在后台取的时候变成了2 2 其实这个情况和之前是一个的,只是你没有形成我说的一个完整的闭环,如果你想要后台得到的值是2+2,应该怎么做呢?
参考前面的简而言之会发现。 我们应该把浏览器的url变成 localhost/pc/name=2%2B2 这样的话后台取到的就么有问题了,这个加号应用比如token参数中包含+号,那么这个+号是有链接前后字符串的意义的,那么就需要用URLEncoder以下,当然你可以后台编码,也可以前端编码,
这个编码应该是base64,可以先百度看下base64 里面可以还有一些坑 比如前后端编码可能用的工具类实现的细节不一致导致回车符换行符的问题。基础很重要。

												

application/x-www-form-urlencoded从前端到后台的更多相关文章

  1. 前端与后台可能需要使用交互的表单form,input标签

    前端与后台可能需要使用交互的表单标签 form表单和input标签 textarea文本域表单 select,option下拉列表表单 fieldset和legend组合表单 label标签 form ...

  2. C# 加密–RSA前端与后台的加密&解密

    1. 前言 本问是根据网上很多文章的总结得到的. 2. 介绍 RSA加密算法是一种非对称加密算法. 对极大整数做因数分解的难度决定了RSA算法的可靠性.换言之,对一极大整数做因数分解愈困难,RSA算法 ...

  3. 加密–RSA前端与后台的加密&解密

    1. 前言 本问是根据网上很多文章的总结得到的. 2. 介绍 RSA加密算法是一种非对称加密算法. 对极大整数做因数分解的难度决定了RSA算法的可靠性.换言之,对一极大整数做因数分解愈困难,RSA算法 ...

  4. 前端和后台BUG区分方法

    测试工程师不只是负责发现问题,除了发现问题这种基本功外,定位问题,提出解决方案,提出预防方案也是要掌握的技能.这里先说定位问题的要求,定位问题要向深入,前提当然是对功能.产品的流程.开发方案.开发人员 ...

  5. 前端到后台ThinkPHP开发整站--php开发案例

    前端到后台ThinkPHP开发整站--php开发案例 总结 还是需要做几个案例,一天一个为佳,那样才能做得快. 从需求分析着手,任务体系要构建好,这样才能非常高效. 转自: 前端到后台ThinkPHP ...

  6. 正确的前端传后台json方式

    DEMO: var data=JSON.stringify({"page": {"pagenow": 1,"pagesize": 20},& ...

  7. MUI框架-11-MUI前端 +php后台接入百度文字识别API

    MUI框架-11-MUI前端 +php后台接入百度文字识别API 这里后台不止一种,Python,Java,PHP,Node,C++,C# 都可以 这里使用的是 php 来介绍,已经解决所有问题,因为 ...

  8. Struts2 前端与后台之间传值问题

    老是被前端与后台之间的传值给弄糊涂了,特此写一篇blog进行总结. 一. 前端向后台传值 (1)属性驱动 属性驱动是指在Action类里,包含表单里对应的字段(字段名称一样),同时设置对应的gette ...

  9. .netcore+vue+elementUI 前后端分离---支持前端、后台业务代码扩展的快速开发框架

    框架采用.NetCore + Vue前后端分离,并且支持前端.后台代码业务动态扩展,框架内置了一套有着20多种属性配置的代码生成器,可灵活配置生成的代码,代码生成器界面配置完成即可生成单表(主表)的增 ...

  10. 通过AngularJS实现前端与后台的数据对接(二)——服务(service,$http)篇

    什么是服务? 服务提供了一种能在应用的整个生命周期内保持数据的方法,它能够在控制器之间进行通信,并且能保证数据的一致性. 服务是一个单例对象,在每个应用中只会被实例化一次(被$injector实例化) ...

随机推荐

  1. kindeditor简单使用

    <%@ page language="java" import="java.util.*" pageEncoding="utf-8"% ...

  2. java.lang.Exception: No tests found matching [{ExactMatcher:fDisplayName=testSelect], {ExactMatcher:fDisplayName=testSelect(cool.zsn.Dao.UserMapperTest)], {LeadingIdentifierMatcher:fClassName=cool.zsn

    @Before:每次调用类中的方法,都会先执行@Before下的方法 @Before下的方法应该是  public : @Before public void init() { application ...

  3. XAMPP中的MySQL与本地MySQL冲突的问题

    学习SQL时在本地中先安装了MySQL,后来因为项目需要又安装了XAMPP集成环境,今天在启动项目的时候发现启动MySQL各种问题(期望启动的是XAMPP中的MySQL服务),在Navicat中显示成 ...

  4. python核心编程2 第九章 练习

    9–1. 文件过滤. 显示一个文件的所有行, 忽略以井号( # )开头的行. 这个字符被用做Python , Perl, Tcl, 等大多脚本文件的注释符号.附加题: 处理不是第一个字符开头的注释. ...

  5. 获取cookie,设置cookie,删除cookie

    //获取cookie export const getCookie = (name) => { var arr, reg = new RegExp("(^| )" + nam ...

  6. ethereum Pet Shop

    在部署宠物商店时遇到的一些坑,给大家总结一下,以免大家多走弯路 转载的地址(详细):https://steemit.com/cn/@lucia3/ethereum-pet-shop 启动"n ...

  7. springboot学习(2)

    WebMvcConfigurerAdapter 在springboot2.0及以上版本过时问题 WebMvcConfigurerAdapter已经过时,替代方案: 1 实现 WebMvcConfigu ...

  8. pig分组统计例子

    1.选取数据样本 在pig安装目录下有一个文件tutorial/data/excite-small.log,其中的数据分为3列,中间用制表符分隔,第一列为用户ID,第二列为Unix时间戳,第三列为查询 ...

  9. 8.2 USB键盘驱动编写和测试

    目标:根据USB驱动分析和上节的USB鼠标驱动,编写键盘驱动,并测试. 一.原理分析 1. 首先通过打印usb_buf[i]中的8字节数据,看一下按键按下之后会接收到什么. 1)通过按完所有键盘按键打 ...

  10. scrapy框架爬取笔趣阁完整版

    继续上一篇,这一次的爬取了小说内容 pipelines.py import csv class ScrapytestPipeline(object): # 爬虫文件中提取数据的方法每yield一次it ...