javascript Url 传参的坑,base64参数和url参数之间的转移

在url传参时会对特殊字符进行转义,所以通过base64传参是需要进行处理

简单说下base64的使用

1,在项目根目录下安装

npm install --save js-base64
2,在项目文件中引入

let Base64 = require(‘js-base64‘).Base64

import { Base64 } from "js-base64";

3,在项目文件中使用

Base64.encode(‘大元‘) // fdsfds5f34
Base64.decode(‘fdsfds5f34‘) // 大元

简单坑的点

我的解决办法

 urlSwitchBase64(wantData) {
      if (wantData.includes("%2B")) {
        wantData = wantData.replace(/\+/g, "%2B");
      }
      if (wantData.includes("%20")) {
        wantData = wantData.replace(/\ /g, "%20");
      }
      if (wantData.includes("%2F")) {
        wantData = wantData.replace(/\//g, "%2F");
      }
      if (wantData.includes("%25")) {
        wantData = wantData.replace(/\%/g, "%25");
      }
      if (wantData.includes("%26")) {
        wantData = wantData.replace(/\?/g, "%26");
      }
      if (wantData.includes("&3D")) {
        wantData = wantData.replace(/\=/g, "&3D");
      }
      if (wantData.includes("%23")) {
        wantData = wantData.replace(/\#/g, "%23");
      }
      return wantData;
    }

参考:https://blog.csdn.net/hanzl1/article/details/79282133?utm_source=blogxgwz9

原文地址:https://www.cnblogs.com/cqy1125/p/12571152.html

时间: 2024-10-10 05:51:30

javascript Url 传参的坑,base64参数和url参数之间的转移的相关文章

如何解决url传参导致错误问题

如何解决url传参导致错误问题:如果使用url传并且参数中含有特殊字符的话,那么就会导致一些错误,下面就来介绍一下如何解决此问题.方法很简单,只要使用encodeURI ()函数进行编码即可.如果得到原来的字符串,使用decodeURI()函数即可,这里就不多介绍了.更多相关内容可以参阅js的escape.encodeURI和encodeURIComponent的区别一章节. 原文地址是:http://www.softwhy.com/forum.php?mod=viewthread&tid=97

浏览器URL传参最大长度问题

这几天为解决一个BUG头疼了一段时间,BUG现象如下: 一个选择人员的选择控件,当选择多个人时(50多个的时候),返回没有错误现象,而再一次打开的时候就报404错误.看到这个错误非常纳闷,无法下手,只能再一次看控件的代码,在详细看代码时,发现所有的参数都是经过URL传参的,赶紧百度一下URL参数的大小限制(从这个百度开始,我就进入一个误区:参数大小的限制).结果发现网上都说URL参数的大小为256字节,再一看自己的数据,的确超过了这么多,既然找到原因就修改,把参数传递方法修改为不通过URL传参.

关于url传参中文乱码问题

之前都一直很不了解中文编码得问题,之前在做项目中没碰到那么头痛的问题.所以一直没有了解中文乱码的问题. 问题描述: 地址: http://localhost:8080/sun-government/contest/get_teams_by_type_with_page?typeName=新材料 当在windows 跑 myeclipse的命令台  能正确打印出typeName的参数,而且持久层并没有问题. 当在 linux 跑catalina模式  打印出乱码,持久层也是乱码. 百度了好几个好几

点击div 跳转并通过URL传参

点击div前要先给div绑定要传的参数: //给panel绑定自定义属性,方便在跳转时传带参数,键/值对排列 panel.attr("user_age",user_age); panel.attr("user_name",user_name); panel.attr("user_sex",user_sex); panel.attr('user_problem_dec',user_problem_dec); panel.attr('user_img

对于url传参的心得。在java中获取数据。。

由于项目抓的紧,发现一个url传参的问题,忙里偷闲整理了一下. 首先得说明,我是要用过另一个项目的url获取json串解析出来给自己的接口使用,这是在java中完成.一般的情况是这样的: 1 public static void main(String args[]){ 2 String url="http://123.56.6.112:2080/ec_app_api/article/getfirst?params={v:1}"; //通过?在后面传参 3 StringBuilder

Java URL传参中文乱码问题

我们经常会遇到这样的场景:在URL中传递参数,如果该参数为中文,如果设置不当,会出现乱码问题. URL传参所使用的编码为服务器中设置的编码,而ajax请求的编码为页面编码. 如果不设置tomcat的默认编码为ISO-8859-1,而如果在设置中加入 useBodyEncodingForURI="true" <Connector URIEncoding="UTF-8" connectionTimeout="20000" port="

Silverlight项目笔记8:层次布局、客户端读取shp、ExecuteCountAsync、柱状图、url传参

1.层次布局 由于地图窗口和菜单栏都在一个父容器内,在浏览器缩小到一定程度点击地图弹出infoWindow时,会出现菜单栏遮挡infoWindow中间部分的现象,于是通过设置Canvas.ZIndex来设置显示层次顺序解决这种冲突. 2.客户端读取Shp文件 有一个应用场景时用户自定义一个范围进行数据统计,包括用户上传已有Shp数据来确定统计区域,如何读取shp文件呢?答案是用了开源的ShapeFileReader类,转化得到graphic,客户端再处理即可.下载地址 http://esrisl

url 传参

php 支持 url 传参的形式 调用后台php文件,如: 1 <a href='process.php?action=download&id=$id'>下载</a> 在后台process.php文件中,可通过$_GET[]方式获取参数: 1 <?php 2 if(@$_GET["action"] == "download"){ //检测此action 3 ... 4 } 5 ?> 值得注意的是: 要小心参数可能包含' '

winform访问url传参有返回值

using System;using System.Collections.Generic;using System.IO;using System.Linq;using System.Net;using System.Text;using System.Threading.Tasks; namespace ConsoleApplication1{ class Program { static void Main(string[] args) { HttpWebRequest request =