解决node.js含有%百分号时发送get请求时浏览器地址自动编码的问题

node.js含有%百分号时,发送get请求时浏览器地址自动编码的问题

sales\报表.png

在发到后台时,会自动编码成:

/file/view/sales/%E6%8A%A5%E8%A1%A8.png

在node.js会自动反编码成:

sales\报表.png

不过如果文件名中含有%百分号,编码过程则会出现问题,如

sales\报%表.png

发送到node.js接收到的自动编码数据:

/file/view/sales/%E6%8A%A5%%E8%A1%A8.png

%E6%8A%A5%%E8%A1%A8.png 因为中间的百分号没有自动编码,然后导致node.js自动解码失败。

解决方案

含有百分号时,先在前端手动编码

encodeURIComponent('报%表.png')

此时%会编码成%25,

%E6%8A%A5%25%E8%A1%A8.png

发送到后台,解码正常。

总结

以上所述是小编给大家介绍的解决node.js含有%百分号时发送get请求时浏览器地址自动编码的问题,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对我们网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

(0)

相关推荐

  • nodejs之koa2请求示例(GET,POST)

    GET 请求 在 koa 中,GET请求获取请求数据request对象中的 query 方法和 querystring 方法, query方法返回的是格式化好的参数,querystring 方法返回的是请求字符串.废话不多说,直接上代码 app.js 中添加如下代码: router.get('/getData', async (ctx,next) => { // 从上下文的request对象中获取 let request = ctx.request; let req_query = reques

  • nodejs使用http模块发送get与post请求的方法示例

    本文实例讲述了nodejs使用http模块发送get与post请求的方法.分享给大家供大家参考,具体如下: GET请求 var http = require('http'); var querystring = require('querystring'); var data = { a: 123, time: new Date().getTime()};//这是需要提交的数据 var content = querystring.stringify(data); var options = {

  • nodejs之get/post请求的几种方式小结

    最近一段时间在学习前端向服务器发送数据和请求数据,下面总结了一下向服务器发送请求用get和post的几种不同请求方式: 1.用form表单的方法: (1)get方法 前端代码: <form action = "/login" method = "GET"> <label for = "username">账号:</label> <input type = "text" name =&q

  • NodeJS收发GET和POST请求的示例代码

    本文介绍了NodeJS收发GET和POST请求的示例代码,分享给大家,也给自己留个笔记 一 express框架接收 app.get('/',function(req,res) { var url = req.query.url; var name = req.query.name; console.log(url, name); }); 二 接收Get 1. get参数在req.url上 2. 使用url.parse将数据由字符串转变为obj index.js: var http = requi

  • nodejs 使用http进行post或get请求的实例(携带cookie)

    安装http nmp install http 函数封装(可直接拿去进行使用) var http = require('http'); function nodePostGetRequest(HOST, PORT, method, bodydata, callBackFunction, path, cookie) { //把将要发送的body转换为json格式 var body = bodydata; var bodyString = JSON.stringify(body); //http 头

  • 解决node.js含有%百分号时发送get请求时浏览器地址自动编码的问题

    node.js含有%百分号时,发送get请求时浏览器地址自动编码的问题 sales\报表.png 在发到后台时,会自动编码成: /file/view/sales/%E6%8A%A5%E8%A1%A8.png 在node.js会自动反编码成: sales\报表.png 不过如果文件名中含有%百分号,编码过程则会出现问题,如 sales\报%表.png 发送到node.js接收到的自动编码数据: /file/view/sales/%E6%8A%A5%%E8%A1%A8.png %E6%8A%A5%%

  • 完美解决node.js中使用https请求报CERT_UNTRUSTED的问题

    只要调用了没有受信的https就会报错:CERT_UNTRUSTED 简单的解决方法就是设置环境变量回避非授信证书的问题. 只要在请求的代码之前加上如下代码即可: process.env.NODE_TLS_REJECT_UNAUTHORIZED = "0"; 结束!!! 以上就是小编为大家带来的完美解决node.js中使用https请求报CERT_UNTRUSTED的问题全部内容了,希望大家多多支持我们~

  • nodejs发送http请求时遇到404长时间未响应的解决方法

    通常,我们在使用nodejs发送http请求时,一旦遇到404响应,nodejs内部会一直请求下去,直到超出它自己设定的响应时长(最让人恶心的地方就是这个时长还是没法修改的.)很多人在这里碰到了麻烦. 我是在做arcgis地图项目的时候,客户提出需要使用天地图提供的底图服务,当时我直接使用silverlight客户端的Arcgis API进行http请求(同样是内部请求,不开源的东西就是这么让人郁闷),同样碰到了一个进度条一直卡在那的问题.经过调试发现,是由于底图加载请求超时的缘故,和nodej

  • 解决PHP使用CURL发送GET请求时传递参数的问题

    最近在使用curl发送get请求的时候发现传递参数一直没有生效,也没有返回值,以为是自己哪里写错了,网上找东西时也没有人专门来说get请求传递参数的内容,所以,今天在这里记录一下,希望可以帮到一些人 get请求是最简单的请求,不过要注意自己的请求是http请求还是https的请求,因为https请求时要关闭SSL验证,不然验证通不过,没有办法请求到数据: GET请求的参数 get传递参数和正常请求url传递参数的方式一样 function get_info($card){ $url ="http

  • 解决Python发送Http请求时,中文乱码的问题

    解决方法: 先encode再quote. 原理: msg.encode('utf-8')是解决中文乱码问题. quote():假如URL的 name 或者 value 值中有『&』.『%』或者『=』等符号,就会有问题.所以URL中的参数字符串也需要把『&=』等符号进行编码,quote()就是对参数字符串中的『&=%』等符号进行编码. 例子: # -*- coding: UTF-8 -*- # python2.7 from urllib import quote import req

  • Node.js系列之发起get/post请求(2)

    服务器与浏览器的交互主要方式有get/post请求. 下面,我们来看一下node.js发起get/post请求. 1.get 由于get请求的参数在url后面,所以相对比较简单.node.js中的url模块提供了parse函数来处理.具体代码如下: //引入模块 var http=require('http'); var url=require('url'); var util=require('util'); //创建http Server 处理请求 http.createServer(fun

  • 使用axios请求时,发送formData请求的示例

    最近做的一个项目中有一个特例接口,传json后端接收不到,对接的后端又不愿意改接口,只能用formData方式传参,由于好多年没有用过formData,头痛了一会,找到了解决方法,发现非常简单,在此做个笔记! var formData = new FormData(); formData.append("username", "Groucho"); formData.append("accountnum", 123456); fetch('/us

  • 详解使用fetch发送post请求时的参数处理

    详解使用fetch发送post请求时的参数处理 不考虑古董浏览器之后,使用fetch来发送ajax请求,变得非常爽快和时尚. 但是,发送post请求的时候,把笔者卡了一下.后台如下获取参数时,总是为null String q = req.getParameter("q"); 研究了好久,总算写出正确的使用方式了.直接上代码. fetch("/search/project/", { method: "POST", headers: { 'Conte

  • JQuery发送ajax请求时中文乱码问题解决

    这篇文章主要介绍了JQuery发送ajax请求时中文乱码问题解决,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 先排除项目故障: 1.web.xml中是否配置了字符拦截器 <filter> <filter-name>encodingFilter</filter-name> <filter-class>org.springframework.web.filter.CharacterEncodingFilter

  • 解决Node.js mysql客户端不支持认证协议引发的问题

    前言 mysql模块(项目地址为https://github.com/mysqljs/mysql)是一个开源的.JavaScript编写的MySQL驱动,可以在Node.js应用中来操作MySQL.但在使用过程中,出现了"ER_NOT_SUPPORTED_AUTH_MODE"问题. 本文介绍了出现该问题的原因及解决方案. 报错信息 当我试图使用mysql模块来连接MySQL 8时,出现了如下错误信息: D:\workspaceGithub\nodejs-book-samples\sam

随机推荐