source

요구 페이로드 취득 방법

factcode 2022. 10. 23. 09:57
반응형

요구 페이로드 취득 방법

PHP, ExtJS 및 Ajax 스토어를 사용하고 있습니다.

POST 또는 GET 이외의 데이터(작성, 갱신, 파기시)를 송신합니다.Chrome Console의 "Request Payload" 필드에 발신 파라미터가 JSON으로 표시됩니다.$_POST$_GET이 비어 있습니다.

PHP에서 검색하려면 어떻게 해야 하나요?

내가 상황을 정확히 이해한다면, 당신은 단지 http 본문을 통해 json 데이터를 전달하고 있을 뿐이다.application/x-www-form-urlencoded데이터.

다음 스니펫을 사용하여 이 데이터를 가져올 수 있습니다.

$request_body = file_get_contents('php://input');

json을 전달할 경우 다음을 수행할 수 있습니다.

$data = json_decode($request_body);

$datajson 데이터는 php 배열입니다.

php://input이른바 래퍼입니다.

php://input은 요청 본문에서 원시 데이터를 읽을 수 있는 읽기 전용 스트림입니다.POST 요청의 경우 $HTTP_ 대신 php://input을 사용하는 것이 좋습니다.RAW_POST_DATA는 특별한 php.ini 디렉티브에 의존하지 않습니다.또한 $HTTP_의 경우RAW_POST_DATA는 디폴트로는 입력되지 않습니다.Always_populate_raw_post_DATA를 활성화하는 대신 메모리 사용량이 적을 수 있습니다.php://input은 enctpe="formart/form-data"와 함께 사용할 수 없습니다.

또한 extJs를 설정할 수 있습니다.writer와 함께: true정기적으로 데이터를 송신합니다(따라서, 데이터를 취득할 수 있습니다).$_POST그리고.$_GET).

...값은 (Ext.data.writer의 인코딩 구성을 위한 문서를 통해) raw post가 아닌 요청 파라미터의 일부로 전송됩니다.Json)

갱신하다

, 다음의 설명도 있습니다.

인코딩 옵션은 루트가 정의된 경우에만 true로 설정해야 합니다.

그래서 아마...writerroot설정은 필수입니다.

언급URL : https://stackoverflow.com/questions/9597052/how-to-retrieve-request-payload

반응형