【问题标题】:IE 11 & FireFox not encoding the query string in the URL, but chrome doesIE11 和 FireFox 不对 URL 中的查询字符串进行编码,但 chrome 会
【发布时间】:2019-11-21 13:51:57
【问题描述】:

我正在编写一个 node.js 应用程序。我正在尝试对将显示在浏览器地址栏中的 url 进行编码。 例如:http:/www.abcdefghjs.com?q=This%20is%20good

Chrome 在地址栏中显示 url,其编码如下或高于 url

http:/www.abcdefghjs.com?q=This%20is%20good

IE 11 & FireFox 不显示 %20 作为空格,地址栏的 url 如下:

http:/www.abcdefghjs.com?q=This is good

感谢任何形式的帮助以解决 IE11 和 Firefox 的问题。

注意:我已经尝试了 node.js 函数 encodeURIComponent()encodeURI()。但不能在 IE11 和 FireFox 中工作

【问题讨论】:

    标签: node.js internet-explorer url query-string


    【解决方案1】:

    它真的会影响您的应用程序吗?可能是 Firefox 只是向您显示未编码的内容,但实际上发送的是编码的请求。

    另外,您是如何导航到 URL 的?你是用JS设置还是直接点击链接?

    编辑:从快速的谷歌搜索中,对于 Firefox,看起来当 URL 已经编码时,它在地址栏中显示为已解码。如果尚未编码,则会显示已编码。

    【讨论】:

    • 它实际上并没有影响应用程序。但想知道为什么只有 Firefox 是未编码的,而 Chrome 是未编码的。导航是用 JS 设置的。
    • @PaulGregory 只是浏览器的行为,你无能为力。
    • 谢谢。正如你所说,我尝试了 FF,我将 URL 复制粘贴到记事本,似乎已经编码。但我在 IE 中做了同样的事情,似乎它没有编码
    【解决方案2】:

    正如 chrispytoes 所说,这是一种浏览器设计行为,我们对此无能为力。此外,我们可以使用 Fiddler 来跟踪 url 请求。正如我们在 Inspectors 中看到的,IE 实际上发送了编码请求,尽管它在地址栏中显示为未编码:

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-01-20
      • 2012-02-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-11-16
      相关资源
      最近更新 更多