JQuery 表单提交添加请求标头

2023-12-13

我想问一下调用前是否可以指定 headers$(myForm).submit();我知道您可以在 AJAX post 请求中指定,但是在提交这个简单的表单之前可以吗?


是的你可以。需要一定的本土化JavaScript苦差事,我就是这样做的:

<!DOCTYPE html>
<html>

  <body>
    <h1>Custom Header Injection 1</h1>
    <div id="header_demo">
      <form id="custom_form">
        <input type="hidden" name="name_1" value="${form.name_1}" />
        <button type="button" onclick="submitFormAndHeader()">Submit Form</button>
      </form>
    </div>

    <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.0.0/jquery.min.js"></script>
    <script>
      function submitFormAndHeader() {
        var xhttp = new XMLHttpRequest();
        xhttp.onreadystatechange = function() {
          if (this.readyState == 4 && this.status == 200) {
            document.getElementById("demo").innerHTML =
              this.responseText;
          }
        };
        xhttp.open("POST", "/v1/target-endpoint.do", true);
        xhttp.setRequestHeader("custom_header", "test value of custom header");
        xhttp.send($("#custom_form").serialize());
      }

    </script>
  </body>

</html>

添加了一个功能submitFormAndHeader这创建了一个XMLHttp请求添加所需标头并提交的对象HTML DOM形式通过HTTP POST.


或者,您可以使用Jquery 提交处理程序并调用submitFormAndHeader()上面创建的函数:

$( "#custom_form" ).on( "submit", function( event ) {
  event.preventDefault();
  submitFormAndHeader();
});
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

JQuery 表单提交添加请求标头 的相关文章

随机推荐