【问题标题】:Encode and submit a form using JavaScript使用 JavaScript 编码和提交表单
【发布时间】:2011-03-18 16:15:33
【问题描述】:

我正在使用 JavaScript 针对某些事件自动提交表单。但是,该 URL 目前在提交时未编码,这给我带来了一些问题。例如,这是一个提交表单的 URL:

http://localhost/index.php?param=testParam%2Ftest.xml

我想对 URL 进行编码并消除 %2F(另外,当我们在这里时,%2F 是什么意思?我发现 %2 是什么意思,但是 %2F 呢?)

我有以下简单的 jQuery 代码:

$("#myForm").submit();

如何使用此代码并提交带有 URL 编码的表单?

在此先感谢

【问题讨论】:

    标签: javascript jquery forms get urlencode


    【解决方案1】:

    %2F 是“/”的url-encoded form

    当您将特殊字符传递到您的服务器时,您必须对其进行 urlencode,因为它可能会被 http 服务器错误地解释。

    服务器处理解码

    【讨论】:

    • 我正在以隐藏形式保存页面重定向的源。我尝试对隐藏元素的值进行编码,但仍未对其进行编码
    • 一定是。当您使用提交方法时,浏览器会自动执行此操作。我怀疑你误解了这些症状。
    【解决方案2】:

    我通过实现一个简单的 PHP 脚本解决了这个问题,该脚本将生成 url 并相应地重定向。代码如下:

    $url = $_GET['file'] . "?source=" . $_GET['source'];
    header('Location: ' . $url);
    

    使用标头重定向,URL 会以良好的解码格式自动发送。

    【讨论】:

    • 不是 header() 重定向以“良好的编码格式”发送它。 PHP 自动对 $_GET 中的数据进行 urldecode。如果你要转储 $url,你会发现它已经被 urldecode。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-08-13
    • 2013-01-10
    • 1970-01-01
    • 2016-01-04
    • 2014-01-04
    • 2011-02-20
    • 1970-01-01
    相关资源
    最近更新 更多