답변:
할 수 없습니다-AFAIK.
그러나 예를 들어 jquery (일반 자바 스크립트로 수행 할 수 있음)를 사용하여 양식을 직렬화하고 사용자 정의 헤더를 추가하는 동안 (AJAX 사용) 보낼 수 있습니다.
serialize
HTML FORM form-url-encoded
을 POST 준비가 된 값 으로 변경하는 jquery 를 살펴보십시오 .
내 제안은 다음 중 하나를 포함하는 것입니다.
사실 클라이언트 측에 쿠키를 저장하는 더 좋은 방법입니다. 그런 다음 해당 특정 도메인의 모든 페이지 헤더와 함께 쿠키가 자동으로 전송됩니다.
node-js에서는 쿠키 파서 로 쿠키를 설정하고 사용할 수 있습니다. .
예 :
res.cookie('token', "xyz....", { httpOnly: true });
이제이 항목에 액세스 할 수 있습니다.
app.get('/',function(req, res){
var token = req.cookies.token
});
참고 httpOnly:true
쿠키는 일반적으로 액세스 할 수 없습니다 수동 또는 자바 스크립트를 통해 액세스 할 수 있습니다 만 브라우저되도록합니다. ajax를 통하지 않고 양식 게시물로 일부 헤더 또는 보안 토큰을 보내려는 경우 대부분의 경우 이것은 안전한 방법으로 간주 될 수 있습니다. 일반적으로 중요한 사용자 관련 정보를 저장하는 경우 데이터가 보안 프로토콜 / ssl을 통해 전송되는지 확인하십시오.
내가 펍 / 제이드에서 한 일입니다.
extends layout
block content
script(src="/jquery/dist/jquery.js")
script.
function doThePost() {
var jqXHR = $.ajax({
type:'post'
, url:<blabla>
, headers: {
'x-custom1': 'blabla'
, 'x-custom2': 'blabla'
, 'content-type': 'application/json'
}
, data: {
'id': 123456, blabla
}
})
.done(function(data, status, req) { console.log("done", data, status, req); })
.fail(function(req, status, err) { console.log("fail", req, status, err); });
}
h1= title
button(onclick='doThePost()') Click
Form 플러그인과 함께 JQuery를 사용하는 경우 다음을 사용할 수 있습니다.
$('#myForm').ajaxSubmit({
headers: {
"foo": "bar"
}
});
$ .ajax를 사용하여 <form method="POST">
. 예를 들어 제출 버튼에 이벤트를 추가하고 POST 요청을 AJAX로 처리 할 수 있습니다.
모든 ajax 요청에 추가하기 위해 https://stackoverflow.com/a/58964440/1909708에서 답변했습니다.
특정 ajax 요청에 추가하려면 다음과 같이 구현했습니다.
var token_value = $("meta[name='_csrf']").attr("content");
var token_header = $("meta[name='_csrf_header']").attr("content");
$.ajax("some-endpoint.do", {
method: "POST",
beforeSend: function(xhr) {
xhr.setRequestHeader(token_header, token_value);
},
data: {form_field: $("#form_field").val()},
success: doSomethingFunction,
dataType: "json"
});
추가해야합니다 meta
JSP에 요소를 . 예 :
<html>
<head>
<!-- default header name is X-CSRF-TOKEN -->
<meta name="_csrf_header" content="${_csrf.headerName}"/>
<meta name="_csrf" content="${_csrf.token}"/>
양식 제출 (동기) 요청에 추가하려면 여기에서 답변했습니다 : https://stackoverflow.com/a/58965526/1909708
XmlHttpRequest
무슨 뜻? 아니면 단순한 HTML FORM 게시물입니까?