问题标签 [decodeuricomponent]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
31 浏览

decodeuricomponent - PHP rawurlencode 后跟 JS decodeURIComponent 给出格式错误的 URI 错误

我有这段代码对数据库搜索的结果数组进行编码:

我必须进行编码才能将数据作为 JSON 传递到另一个页面。在另一页上,我试图在 Javascript 中像这样解码生成的对象:

我的问题是由于 URI 格式错误,我收到了 URIError。传递了几条数据,所以我真正的问题是是否有某种方法或工具可以让您在字符串数组中搜索有问题的项目。我有几个结果并且不喜欢必须逐个字符地检查它们以找到有问题的编码的想法。有没有人有什么建议?如果我能弄清楚是什么字符/字符导致了这个错误,我就会找到解决方案。我是一个编码新手,所以请原谅任何不正确的术语使用。

顺便说一句-有时此代码可以完美运行...我正在尝试找到一种方法来缩小导致此错误定期发生的有问题的数据库项目的范围。

0 投票
0 回答
185 浏览

javascript - mb_convert_encoding 有时不起作用:未捕获的 URIError:URI 格式错误

mb_convert_encoding()如果与 PHP 和 jQuery AJAX 一起使用,则不适用于西里尔字符和其他特殊字符。错误如下:

未捕获的 URIError: 在 Object
的 decodeURIComponent ()处的 URI 格式错误。
(流行:3725)
在你(jquery-3.3.1.min.js:12)
在 Object.fireWith [as resolveWith](jquery-3.3.1.min.js:12)
在 k(jquery-3.3.1. min.js:12)
在 XMLHttpRequest。(jquery-3.3.1.min.js:12)

我的问题是我是否需要在 jQuery 中解码响应值。

0 投票
3 回答
1717 浏览

module - jq中调用自定义模块的格式是什么?

我需要使用 jq 对 json 结构中的字符串进行 url 解码。我在 ~/.jq/urldecode.jq 下定义了一个自定义模块,但是在调用它时:

我收到错误消息:

模块源码为:

什么是正确的语法?

0 投票
1 回答
613 浏览

angularjs - 如何使用 ionic 3 将 .html 文件中的数据从 api 解码为 base64

我正在尝试在 page.html 文件中查看一些数据来自 API,而这些数据只是通过 base64 进行的长文本编码,问题是我想解码 html 文件中的文本而不是 page.ts 文件所以我尝试了很多逻辑,但对我没有任何作用。HTML 文件中的示例:

  • {{item.text|| base64}}
  • {{item.text|| 解码URI组件}}
  • {{item.text|| atob}}
  • atob({{item.text}})

但没有任何效果。在 TS 页面内我尝试使用 decodeURIComponent(escape(window.atob(ielement.text))) 并且它正在工作,但我想从 html 页面

这是来自 API 的文本:aGVsbG8gd29ybGQh

提前致谢 ..

0 投票
0 回答
13 浏览

javascript - 使用 decodeURIComponent 拦截 ajax 请求导致特殊字符

我正在尝试拦截每个传出的 AJAX 请求并将其记录下来。我正在使用以下代码。

我想要以 JSON 格式输出。然而settings.data,在这种情况下,我正在使用编码,decodeURIComponent()但即使这个函数也无法删除所有特殊字符。

这就是我要发布的内容:

这是我的代码在控制台上打印的内容:

0 投票
2 回答
305 浏览

javascript - decodeURI 不适用于 innerHTML 文本

我一直在尝试解码文本,所以我可以采用 unescape JSON 编码。但是当变量值为innerHTML时我无法开始工作,但是当我将相同的字符串值硬编码到变量时它可以工作。

innerHTML 示例(我需要帮助)

预期结果:解码 URI:C:\Users\User\Documents\Fax

具有硬编码值的工作示例

实际结果:解码 URI:C:\Users\User\Documents\Fax

我究竟做错了什么?

0 投票
0 回答
34 浏览

jquery - Get each element values separately from URL in jquery

I have decoded uri: min_price=0&max_price=628&category_id=71&page=1&path=71&old_route=product/category&review[]=3&attribute_value[20][]=new&attribute_value[1][]=Evaluate

This URI can be each time different. Depend on checked component in a browser.

I need to get each separate element and its value. The main problem is to get each review and each attribute_value

0 投票
0 回答
166 浏览

gatsby - 无法在 Gatsby 中的 URL 中解码中文字符的 URI

我正在使用 Gatsby 和 Strapi 作为多语言博客的无头 CMS。似乎在一些(不是全部)中文博客文章中,蛞蝓是经过编码的。我尝试使用以下内容:

即使在解码后,盖茨比也无法找到该帖子,因为它是这样出现的:

我已经解决了一段时间的问题,但还没有找到解决方案。

你可以在这里找到整个博客:https ://github.com/mxc-foundation/mxc-blog

我正在尝试将解码放在 PostRow.js 组件中:

0 投票
0 回答
295 浏览

javascript - 如何从 decodeURI(encodeURIComponent(originalString)) 中恢复?

  • encodeURIComponent在调用https://www.npmjs.com/package/history模块以导航到该 URL之前history.push(),我有一些遗留代码(pre-React)对 URL 的一部分进行编码。
  • history.push()insidehistory.js然后用于decodeURI部分解码整个 URL(仅解码与编码decodeURI相同的字符)encodeURI
  • 这个部分解码的 location.pathname 最终在 ReactRouter 中返回useParams()给我部分解码的 URL 组件。

现在,我遇到了无法使用的部分解码的 URL 组件。我需要它完全解码。

我不能decodeURIComponent在部分解码的字符串上使用,因为原始字符串可能包含 a %,在这种情况下,它%已经在部分解码的字符串中被解码,这会导致decodeURIComponent与 a 一起崩溃Uncaught URIError: URI malformed

我的选择似乎是:

  • 用于unescape完全解码部分解码的字符串(它不会抱怨 single %),即使不鼓励使用它(为什么?)
  • %手动将任何(后面没有数字和随后的十六进制字符)重新编码回%25然后运行结果decodeURIComponent

有没有我还没有想到的不那么丑陋的解决方案?

编辑:有人问我部分决定字符串的含义的例子

编辑 2:如果它有任何帮助,这里有一个更现实的例子,说明我们的 URL 可能包含的一些字符,但是因为它是用户生成的,所以它可以是任何东西:

0 投票
0 回答
24 浏览

javascript - decodeURIComponent 用空格字符串替换标记字符串中的 +

我有我的令牌,DQlaAxk+9mn438m64KNLbKXgIvJR3yZmtdTnz3/JlgJX6UVciW0Y88whF5dM+qPW它是在浏览器 url 中传递的。

http://localhost:4200/#/feedback/resetPassword?itoken=DQlaAxk+9mn438m64KNLbKXgIvJR3yZmtdTnz3/JlgJX6UVciW0Y88whF5dM+qPW

这个网址在 chrome 中打开时会变成

浏览器将令牌编码为DQlaAxk%209mn438m64KNLbKXgIvJR3yZmtdTnz3%2FJlgJX6UVciW0Y88whF5dM%20qPW

为了获得我使用的原始令牌decodeURIComponent

它给出的输出标记是,DQlaAxk 9mn438m64KNLbKXgIvJR3yZmtdTnz3/JlgJX6UVciW0Y88whF5dM qPW而我的原始标记用 + 代替空格。

有人可以帮我吗?