【问题标题】:What is the correct way to post a colon in a querystring parameter?在查询字符串参数中张贴冒号的正确方法是什么?
【发布时间】:2023-03-24 02:24:01
【问题描述】:

我正在发布一个表单,其中一个字段值有一个“:”,这会导致问题

有没有正确的方法可以发布这个字符串;

 http://www.mysite.com/MyController/MyAction?field1=Japan:Tokyo&field2=USA:NewYork

【问题讨论】:

  • 当您发布表单时,表单数据会自动正确编码。您的代码是什么样的,因为您似乎没有以常规方式发布表单?

标签: html forms http-post


【解决方案1】:

您可以使用冒号"%3A"的百分比编码版本

【讨论】:

    【解决方案2】:

    很多库都有处理这个的方法,例如在 ASP.NET 中,如果您执行 UrlEncode 应该更改为 %3A,当您需要使用它时只需执行 UrlDecode on字符串。

    http://www.mysite.com/MyController/MyAction?field1=Japan%3ATokyo&field2=USA%3ANewYork
    

    如果您没有使用任何具有此类功能的库,那么您可以轻松构建自己的小解析函数,将常用字符替换为它们的 HTML character code 等效字符。

    【讨论】:

    • 如果我在表单帖子上执行此操作,我假设我需要在 javascript 端执行此操作。关于在表单发布之前自动执行此操作以保护此问题的任何建议
    • @leora 如果您使用的是 Javascript 库,请检查它是否具有这种功能。如果你不是那么考虑编写自己的快速而肮脏的函数来做到这一点 - 仅使用库来获取 URL 编码是没有意义的。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-11-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-08-07
    • 2018-09-01
    相关资源
    最近更新 更多