[javascript] JavaScript를 사용하여 게시 요청 매개 변수를 읽는 방법

내 HTML에서 게시 요청 매개 변수를 읽으려고합니다. JavaScript에서 다음 코드를 사용하여 get 요청 매개 변수를 읽을 수 있습니다.

$wnd.location.search

그러나 포스트 요청에는 작동하지 않습니다. 누구든지 JavaScript를 사용하여 HTML에서 게시 요청 매개 변수 값을 읽는 방법을 알려줄 수 있습니까?



답변

POST 데이터는 서버 측에서 처리되는 데이터입니다 . 그리고 Javascript는 클라이언트 측에 있습니다. 따라서 JavaScript를 사용하여 게시물 데이터를 읽을 수있는 방법이 없습니다.


답변

서버가 JavaScript 변수를 채우도록하는 PHP의 작은 부분은 빠르고 쉽습니다.

var my_javascript_variable = <?php echo json_encode($_POST['my_post'] ?? null) ?>;

그런 다음 일반적인 방법으로 JavaScript 변수에 액세스하십시오.

선택하지 않는 한 특정 데이터 또는 데이터 종류가 게시된다는 보장은 없습니다. 모든 입력 필드는 제안이 아니라 보장이 아닙니다.


답변

JavaScript는 클라이언트 측 스크립팅 언어로, 모든 코드가 웹 사용자의 컴퓨터에서 실행됩니다. 반면에 POST 변수는 서버로 이동하여 거기에 상주합니다. 브라우저는 이러한 변수를 JavaScript 환경에 제공하지 않으며 개발자는 이러한 변수가 마술처럼 거기에있을 것이라고 기 대해서는 안됩니다.

브라우저는 JavaScript가 POST 데이터에 액세스하는 것을 허용하지 않기 때문에 PHP와 같은 외부 행위자가 POST 값을 스크립트 변수 또는 전송중인 POST 값을 캡처하는 확장 / addon으로 에코하지 않고 POST 변수를 읽는 것은 거의 불가능합니다. GET 변수는 클라이언트 컴퓨터에서 구문 분석 할 수있는 URL에 있으므로 해결 방법을 통해 사용할 수 있습니다.


답변

sessionStorage를 사용하십시오!

$(function(){
    $('form').submit{
       document.sessionStorage["form-data"] =  $('this').serialize();
       document.location.href = 'another-page.html';
    }
});

another-page.html에서 :

var formData = document.sessionStorage["form-data"];

참조 링크-https: //developer.mozilla.org/en-US/docs/Web/API/Window/sessionStorage


답변

전달하려는 값을 설정하기 위해 localStorage 또는 다른 방법을 사용하지 않는 이유는 무엇입니까?

그렇게하면 어디서든 액세스 할 수 있습니다!

하여 어디서든 내 말은 주어진 도메인 / 컨텍스트 내에서


답변

jQuery-PostCapture ( @ ssut / jQuery-PostCapture )를 사용 하여 게시 요청 매개 변수를 읽을 수 있습니다 .

PostCapture 플러그인은 몇 가지 트릭으로 구성됩니다.

제출 버튼을 클릭하면 onsubmit이벤트가 전달됩니다.

이때 PostCapture는 양식 데이터를 직렬화하고 html5 localStorage (사용 가능한 경우) 또는 쿠키 저장소에 저장합니다.


답변

POST는 브라우저가 클라이언트 (브라우저)에서 웹 서버로 보내는 것입니다. 게시 데이터는 http 헤더를 통해 서버로 전송되며 서버 끝 또는 클라이언트 (브라우저)에서 웹 서버로의 경로 (예 : 프록시 서버) 사이에서만 사용할 수 있습니다. 따라서 JavaScript와 같은 클라이언트 측 스크립트에서 처리 할 수 ​​없습니다. CGI, PHP, Java 등과 같은 서버 측 스크립트를 통해 처리해야합니다. 여전히 JavaScript로 작성해야하는 경우 Node.js와 같은 서버에서 JavaScript를 이해하고 실행하는 웹 서버가 있어야합니다.