2014-02-16 5 views
13

제출 버튼을 클릭하면 어떻게됩니까? 나는이 같은 두 input 요소와 함께 http://example.com/ URL에있는 양식을했습니다하자 :제출 버튼을 클릭하면 어떻게됩니까

<form method="get"> 
    <input type="text" id="field1" name="namefield1"/> 
    <input type="text" id="field2" name="namefield2"/> 
    <input type="submit" value="submit"/> 
</form> 
실제로 요청 내 특정한 경우에 http -server로 전송됩니다 무엇을 얻을

?

+1

다운로드 [피들러] (http://www.telerik.com/fiddler)와 요청이 무엇인지 참조 : 그래서 예를 http://example.com/index.html?field1=joe&field2=bloggs

당신은 하단의 제출 버튼의 예를 아래로 스크롤하면 여기에 예를 참조하십시오 보냈습니다. –

+0

브라우저의 디버깅 도구를 사용해 보시지 않겠습니까? – j08691

답변

18

양식이 서버에 제출되고 브라우저가 브라우저의 현재 주소로 리디렉션되고 쿼리 문자열 매개 변수로 입력 필드의 값을 추가합니다.

다음 GET 요청 HTTP 요청이 전송 될 HTTP 프로토콜의 측면에서

: 당신의 <form> 이후

GET http://example.com/?namefield1=value1&namefield2=value2 HTTP/1.1 
Host: example.com 

action 속성이 누락되어, 브라우저가 단순히 값을 추가하여 현재 URL로 리디렉션됩니다 쿼리 문자열 매개 변수. 따라서이 양식을 제출 한 후 http://example.com/foo.php에서로드 한 경우 브라우저는 http://example.com/foo.php?namefield1=value1&namefield2=value2으로 리디렉션됩니다. value1value2은 해당 입력 필드에서 사용자가 입력 한 값이됩니다.

또한 브라우저에 내장 된 디버깅 도구 또는 Fiddler을 사용하여 서버로 보내지는 정확한 페이로드를 검사 할 수 있습니다.

+0

'namefield1'이 왜 두 번 보내 집니까? – j08691

+0

실수였습니다. 2 매개 변수가 서버로 전송됩니다. –

3

'get'메소드로 양식을 제출하면 가져 오기 요청을 수행하여 입력 요소 내에있는 데이터를 쿼리 문자열에 이름 값 쌍으로 전송합니다. http://www.w3schools.com/html/html_forms.asp

관련 문제