【问题标题】:How to pass POST parameters via URL in browser address bar如何通过浏览器地址栏中的 URL 传递 POST 参数
【发布时间】:2023-03-18 16:15:02
【问题描述】:

可以从网页中找出用于 POST 请求的参数,例如 How to view the address of the POST request made when an HTML button is clicked?

POST 方法是否可以在地址栏中或从调试器控制台输入带有参数的 url?

对于get 请求,在地址和参数之间插入?,例如

https://www.w3schools.com/action_page.php?fname=Albert&lname=Einstein.

(模拟post form调用same script。)

【问题讨论】:

  • 您只能在地址栏中使用带有参数的 GET。如果您想拨打邮政电话,则需要使用 POSTMAN。
  • 什么是邮递员?
  • 它是一个应用程序,您可以使用它通过设置请求正文来测试 post 调用。试试看

标签: javascript html url browser


【解决方案1】:

这是我的 javascript 解决方案。

例如http://vizier.u-strasbg.fr/viz-bin/VizieR 上的表格 需要post

以下命令可以在调试器控制台中运行。它操纵一个输入字段。

form=document.getElementsByName("form0")[0]; form.isource.value="Gaia";
form.target="_blank"; form.submit()

url 已经继承自form.action

【讨论】:

    【解决方案2】:

    确定有可能 POST 方法在地址中传递参数。

    使用/foo?bar=bat 操作设置要发布的表单,服务器将获取POST 表单参数和查询字符串参数。

    动态地创建动作以使动作中的查询字符串包含表单参数是很简单的。例如 - 这里提交表单时,在通过 ajax 发布表单之前将 POST 数据附加到查询字符串。因此,您可以在 URL 和正文数据中获取 post 参数。

    html

    <!DOCTYPE html>
    <html>
      <body>
        <form action="/something">
          <label for="fname">First name:</label><br>
          <input type="text" id="fname" name="fname" value="John"><br>
          <label for="lname">Last name:</label><br>
          <input type="text" id="lname" name="lname" value="Doe"><br><br>
          <input type="submit" value="Submit">
        </form>
      </body>
    </html>
    

    js

    $("form").submit(function(e) {
      e.preventDefault();
      let f = $(e.currentTarget);
      $.ajax({
        type: "POST",
        url: `${f.attr("action")}?${f.serialize()}`,
        data: f.serialize(),
        success: function() {
          //success message maybe...
        }
      });
    });
    

    也就是说,这可能根本不是一个好主意。

    【讨论】:

    • 但是那样的话,请求中不会有POST参数,只有查询参数。
    • @OleksandrKovpashko - 正如我所说 - 动态创建操作以便操作中的查询字符串包含表单参数是微不足道的。
    • @Friedrich - 不确定你指的是什么?
    【解决方案3】:

    这是不可能的。

    POST 参数只能通过请求正文传递。

    您可以使用某种 API 客户端工具,例如 PostmanPaw,或者只使用普通的 curl

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-02-09
    • 2015-01-11
    • 2014-01-28
    • 2014-02-24
    • 1970-01-01
    • 1970-01-01
    • 2012-08-15
    相关资源
    最近更新 更多