양식 제출시 POST 헤더에 사용자 정의 필드를 설정하려면 어떻게해야합니까?
답변
할 수 없습니다-AFAIK.
그러나 예를 들어 jquery (일반 자바 스크립트로 수행 할 수 있음)를 사용하여 양식을 직렬화하고 사용자 정의 헤더를 추가하는 동안 (AJAX 사용) 보낼 수 있습니다.
serialize
HTML FORM form-url-encoded
을 POST 준비가 된 값 으로 변경하는 jquery 를 살펴보십시오 .
최신 정보
내 제안은 다음 중 하나를 포함하는 것입니다.
- 숨겨진 양식 요소
- 쿼리 문자열 매개 변수
답변
페이지에 쿠키 값을 설정 한 다음 서버 측에서 다시 읽습니다.
특정 헤더를 설정할 수 없지만 콘텐츠 본문이 아닌 헤더 섹션에서 값에 액세스 할 수 있습니다.
답변
에서 FormData documention :
XMLHttpRequest Level 2는 새로운 FormData 인터페이스에 대한 지원을 추가합니다. FormData 개체는 양식 필드와 해당 값을 나타내는 키 / 값 쌍 집합을 쉽게 구성 할 수있는 방법을 제공합니다. 그런 다음
XMLHttpRequest
send()
메서드를 사용하여 쉽게 보낼 수 있습니다 .
를 사용 XMLHttpRequest
하여 사용자 지정 헤더를 설정 한 다음 POST
.
답변
사실 클라이언트 측에 쿠키를 저장하는 더 좋은 방법입니다. 그런 다음 해당 특정 도메인의 모든 페이지 헤더와 함께 쿠키가 자동으로 전송됩니다.
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로 처리 할 수 있습니다.