我想问一下,在调用$(myForm).submit();
之前是否可以指定标题我知道您可以在AJAX发布请求中指定但是在此简单表单提交之前是否可以提交?
答案 0 :(得分:0)
可以。需要一些本地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
,该函数创建了一个XMLHttpRequest对象,该对象添加了必需的标头并通过HTML
提交了DOM
HTTP POST
形式。
或者,您可以使用Jquery submit handler并调用上面创建的submitFormAndHeader()
函数:
$( "#custom_form" ).on( "submit", function( event ) {
event.preventDefault();
submitFormAndHeader();
});