在开发中遇到前端页面需要将一个附件的路径传递后台实现业务逻辑,但不进行编码一直报404的错误,上代码。

前端编码:JavaScript函数encodeURL()

说明:1 .encodeURL函数主要是来对URI来做转码,它默认是采用的UTF-8的编码.
           2. UTF-8编码的格式:一个汉字来三个字节构成,每一个字节会转换成16进制的编码,同时添加上%号.

var row = $('#tabgrid20170725163633448815').datagrid('getSelected');
if(row != null){
var reportid = row.id;
var fjpath = row.fjpath;
fjpath=encodeURI(fjpath);
var cerson_id = row.create_id;
var cerson_name = row.create_name;
var dept = row.main_dept;
var deptname=row.main_dept_name;
var url="${ctx}/secondPhase/report_content.pt?reportid="+reportid+"&cerson_id="+cerson_id+"&cerson_name="+cerson_name+"&dept="+dept+"&fjpath="+fjpath+"&deptname="+deptname;
url=encodeURI(url);
window.location.href=url;
}

后端解码如下:

import Java.NET.URLDecoder;

         String fjpath=(String)dmp.get("fjpath");

		if(fjpath!=null){
fjpath=URLDecoder.decode(fjpath,"utf-8");
}

  

js 传递路径参数到后台的转码和解码的更多相关文章

  1. JS传递中文参数出现乱码的解决办法

    一.window.open() 乱码: JS中使用window.open("url?param="+paramvalue)传递参数出现乱码,提交的时候,客户端浏览器URL中显示参数 ...

  2. js获取路径参数对象

    /** * 获取页面路径参数值 */ function getParams(key) { var result = {}; var paramStr = encodeURI(window.docume ...

  3. JS 获取 路径参数 传入 参数名 截取 & 和 # 之前 字符

    function getQueryStringByName(name) { var result = location.search.match(new RegExp("[\?\&] ...

  4. bootstrap分页查询传递中文参数到后台(get方式提交)

    <!--分页 --> <div style="width: 380px; margin: 0 auto; margin-top: 50px;"> <u ...

  5. 前台js发请求参数与后台接参数的问题

    js函数中写参数,ajax中写参数,示例如下: function informationQuery(sign){//预警详情条件查询 $.get("/detail/informationQu ...

  6. url中传参数为中文的转码与解码解决方法

    1.转码 中文为 “你好”  var ProjectName = encodeURI(encodeURI("你好"));,如下图所示 跳转页面  window.location.h ...

  7. js传递默认形参

    <!DOCTYPE html> <html lang="zh"> <head> <meta charset="UTF-8&quo ...

  8. BASE64-客户端(js)加码-服务器端(c#)解码,URL传递“汉字参数”解决方法

    HttpUtility.UrlEncode 在 Encode 的时候, 将空格转换成加号('+'), 在 Decode 的时候将加号转为空格, 但是浏览器是不能理解加号为空格的, 所以如果文件名包含了 ...

  9. JS加载获取父窗体传递的参数

    JS加载获取父窗体传递的参数 $(document).ready(function () { var query = location.search.substring(1); var values ...

  10. springmvc传递有特殊字符的路径参数

    因为hostKey这里是IP(例如127.0.0.1)包含了特殊字符.  实际传递到后台的是127.0.0少了一截 @GetMapping("/metrics/jobId/{jobId}/{ ...

随机推荐

  1. [Python]-opencv-python模块(cv2)-图片读取和格式转换

    python常常用opencv模块来处理图像. import cv2 as cv 读取图片:imread() 默认按照彩色三通道读取: img = cv2.imread(path) 读取灰度图: im ...

  2. 《Java Web程序设计——开发环境搭建》

    Java Web程序设计--开发环境搭建       一.JDK下载.安装以及环境变量的配置: 官网:https://www.oracle.com/java/technologies/download ...

  3. thinkphp5.1打印SQL语句

    最近在写tp框架搭建的小玩具,有时候我们需要查看SQL语句.所以就诞生了这篇随笔,命令如下: $xxx=db('xxx')->where('x',xx)->select(); $sql=D ...

  4. KVM里安装不是原装的winxp系统镜像

    从网上下载的winxp系统镜像,虽然是iso格式的,但是里面的内容是如下情况的 因此安装的话,需要采取如下步骤 1.添加一个光驱引导,挂载一个iso格式的pe 2.再添加一个光驱,挂载iso格式的wi ...

  5. MongoDB 副本集的用户和权限一般操作步骤

    步骤总结: 在主节点上添加超管用户,副本集会自动同步 按照仲裁者.副本节点.主节点的先后顺序关闭所有节点服务 创建副本集认证的key文件,复制到每个服务所在目录 修改每个服务的配置文件,增加参数 启动 ...

  6. 1_Layui

    一. 引言 官网: https://www.layui.com/ 在官网首页, 可以很方便的下载Layui Layui是一款经典模块化前端UI框架, 我们只需要定义简单的HTML,CSS,JS即可实现 ...

  7. C#并发编程-1 并发编程概述

    一 并发编程简介 1.1 关于并发和并行 并发和并行的概念: 并发:(Concurrent),在某个时间段内,如果有多个任务执行,即有多个线程在操作时,如果系统只有一个CPU,则不能真正同时进行一个以 ...

  8. 关于成本标签管理-基于-Resource Groups & Tag Editor-统计指定Project-所有资源

    背景:因我们所有AWS都是使用Project标签作为成本标签的,今天因一个项目决定彻底退役下线 于是决定要完全清理此项目的所有资源,防止继续产生费用~ 首先想到的去通过Project 在ec2 , s ...

  9. GitHub 供应链安全已支持 Dart 开发者生态

    通过 Dart 和 GitHub 团队的共同努力,自 10 月 7 日起,GitHub 的 Advisory Database (安全咨询数据库).Dependency Graph (依赖项关系图) ...

  10. AgileBoot - 手把手一步一步带你Run起全栈项目(SpringBoot+Vue3)

    AgileBoot是笔者在业余时间基于ruoyi改造优化的前后端全栈项目. 关于AgileBoot的详细介绍:https://www.cnblogs.com/valarchie/p/16777336. ...