양식을 통해 HTML에서 포스트 매개 변수를 전달하는 유일한 방법입니까?

StackOverflow https://stackoverflow.com/questions/325929

  •  11-07-2019
  •  | 
  •  

문제

HTML에서는 몇 가지 방법으로 GET 요청을 사용하여 한 페이지에서 다른 페이지로 데이터를 보낼 수 있습니다.

http://www.example.com/somepage.php?data=1

...또는...

<form action="somepage.php" method="get">
  <input type="hidden" name="data" value="1" />
  <input type="submit" value="Submit">
</form>

그러나 게시물 요청을 사용하면 다음과 같은 양식 요소를 통해 데이터가 전송되는 것을 보았습니다.

<form action="somepage.php" method="post">
  <input type="hidden" name="data" value="1" />
  <input type="submit" value="Submit">
</form>

게시물을 사용하여 다른 페이지로 보내고 싶은 매개 변수가 하나만 있으면 양식으로 래핑하는 것보다 쉬운 방법이 있습니까?

도움이 되었습니까?

해결책

브라우저에서 게시하는 방법에는 두 가지가 있습니다 - 양식 또는 Ajax 요구.

다른 팁

HTML 만 사용하면 양식이 게시물 요청을 생성하는 유일한 방법입니다. 서버 측 스크립팅 / 자바 스크립트를 사용하여 다른 방식으로 게시물 요청을 생성 할 수 있지만 일반 HTML과 관련하여 다른 방법은 없습니다.

이미 발견 한 것처럼 HTTP 프로토콜을 통해 데이터를 전송하는 두 가지 방법이 있습니다. GET 또는 POST. HTTP 메시지의 세 번째 유형도 있습니다. HEAD, 그러나 그것은 실제로 자원을 다운로드하지 않고 자원 주위의 메타 데이터를 얻는 데 사용되며 널리 구현되지는 않습니다.

분명히 둘 다 GET 그리고 POST a를 사용하여 쉽게 액세스 할 수 있습니다 <form> 꼬리표. 그만큼 GET 이름 값 쌍의 형태로 URL에 쿼리 매개 변수를 수동으로 추가하여 쉽게 액세스 할 수 있습니다.foo.html?a=1&b=2).

의 아름다움과 복잡성 POST, 그러나 이름-값 쌍은 브라우저에서 쉽게 액세스 할 수없는 HTTP 요청 헤더 내에서 동봉 된 웹 서버로 통신합니다. 달성하는 유일한 방법 POST 사용하지 않고 <form> 태그는 HTTP 요청 헤더를 수동으로 변경하고 자신에게 이름 값 쌍을 추가하는 것입니다.

또한 HTTP 서버는 본질적으로 요청 여부를 알지 못합니다 (GET 또는 POST)는 기본 브라우저 창 또는 Ajax 호출에서 나왔습니다. 그럼에도 불구하고 웹 서버는 요청을 읽고, GET 또는 POST 요청하고 이름 값 쌍을 적절하게 찾아 응답을 생성하십시오.

올바르게 포맷하는 방법에 대한 추가 세부 사항을 원하시면 POST 갈 수 있습니다 jmarshall.com/easy/http/ 아니면 아마도 tcpipguide.com/free/t_httprequestmessageformat.htm. 결정적인 자원은 항상입니다 W3C, 그러나 때로는 RFC가 우리에게 필사자가 읽을 수 있도록 끔찍하게 혼란 스러울 수 있습니다.

HTML에서만 양식이 있습니다.

그러나 서버 측에서 플레이하면 할 수 있습니다. 다음은 조작하는 방법을 보여주는 좋은 기사입니다. 게시하도록 변경하십시오 PHP를 통해. 이를 위해서는 FSockoPen을 사용해야합니다. 일단 설정하면 일반화 할 수 있지만 작동하면 모든 것을 먼저 설정하는 것이 약간의 작업입니다.

물론 항상 서버 측 (또는 ajax) 로직이 포함 된 페이지로 이동하여 게시물 요청을 생성 할 수 있습니다 (예 : get /page whichecreatesapost.py). 물론 매우 지저분하지만 그러한 작업이 유용 할 수있는 경우가있을 수 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top