PHP는 서버 측 언어로서 일반적으로 프런트 엔드와 상호 작용할 때 JSON 형식을 사용하여 데이터를 전송합니다. JSON(JavaScript Object Notation)은 단순성, 이해 용이성 및 사용 용이성으로 인해 웹 개발에서 일반적으로 사용되는 데이터 전송 형식이 되었습니다. 프론트 엔드에서 JSON을 사용하는 경우 일반적으로 JSON.stringify() 메소드를 사용하여 데이터를 JSON 형식으로 변환하고 ajax 및 기타 메소드를 통해 요청을 전송합니다. 이러한 요청을 수신하고 처리하려면 백엔드가 필요합니다. get, post, ajax 및 기타 방법이 포함됩니다. 이 기사에서는 PHP에서 전면 JSON 배열을 얻는 방법을 소개합니다.
일반적으로 프런트엔드가 ajax를 사용하여 POST 요청을 보낼 때 JSON 데이터는 요청의 데이터 부분으로 백엔드에 전송됩니다. PHP에서는 $_POST 메소드를 사용하여 이 데이터를 얻을 수 있습니다. 예를 들어 프런트 엔드 Ajax 코드는 다음과 같습니다.
$.ajax({ type: "POST", url: "test.php", data: JSON.stringify({"name": "John", "age": 25}), contentType: "application/json", success: function(data) { console.log(data); } });
백그라운드의 test.php 파일에서 $_POST 메서드를 사용하여 프런트 엔드에서 보낸 JSON 데이터를 얻을 수 있습니다.
<?php $data = json_decode(file_get_contents("php://input"), true); print_r($data); ?>
그 중 , file_get_contents("php://input") 메소드는 POST 요청의 데이터를 가져올 수 있고, json_decode 메소드는 데이터를 PHP 배열로 디코딩하고 마지막으로 print_r 함수를 사용하여 배열을 콘솔에 출력합니다.
프런트엔드는 POST 메서드 외에도 일반적으로 데이터를 얻는 데 사용되는 JSON 데이터를 보내기 위해 GET 메서드를 사용할 수도 있습니다. 예를 들어 프런트 엔드 Ajax 코드는 다음과 같습니다.
$.ajax({ type: "GET", url: "test.php", data: {"name": "John", "age": 25}, contentType: "application/json", success: function(data) { console.log(data); } });
백그라운드의 test.php 파일에서 $_GET 메서드를 사용하여 프런트 엔드에서 보낸 JSON 데이터를 얻을 수 있습니다. 그러나 GET 요청의 데이터는 서버로 직접 전송되지 않고 URL 뒤의 쿼리 문자열에 추가되므로 이 데이터에 대한 특정 처리가 필요합니다. 예를 들어 JSON 데이터가 base64로 인코딩된 후 URL에 추가되는 경우 원본 JSON 데이터를 가져오기 전에 백그라운드에서 쿼리 문자열을 디코딩하고 구문 분석해야 합니다. 샘플 코드는 다음과 같습니다.
프런트 엔드 코드:
$.ajax({ type: "GET", url: "test.php", data: {"json": btoa(JSON.stringify({"name": "John", "age": 25}))}, contentType: "application/json", success: function(data) { console.log(data); } });
백엔드 코드:
<?php $json = json_decode(base64_decode($_GET["json"]), true); print_r($json); ?>
이 예에서는 btoa() 메서드를 통해 JSON 데이터를 base64로 인코딩하여 백엔드에 전달합니다. 백그라운드에서는 base64_decode() 메서드를 사용하여 쿼리 문자열을 디코딩한 다음 json_decode() 메서드를 통해 디코딩된 JSON 데이터를 PHP 배열로 구문 분석하고 최종적으로 콘솔에 출력합니다.
$_POST 및 $_GET 메서드 외에도 file_get_contents 메서드를 사용하여 프런트엔드에서 보낸 JSON 데이터를 가져올 수도 있습니다. 이 방법은 일반적으로 더 큰 JSON 데이터를 처리하는 데 사용됩니다. 예를 들어 프런트엔드 ajax 코드는 다음과 같습니다.
$.ajax({ type: "POST", url: "test.php", data: JSON.stringify({"name": "John", "age": 25}), contentType: "application/json", success: function(data) { console.log(data); } });
백그라운드의 test.php 파일에서 file_get_contents 메소드를 사용하여 프런트엔드에서 보낸 JSON 데이터를 직접 얻을 수 있고, json_decode 메소드를 사용할 수 있습니다. PHP 배열로 디코딩합니다.
<?php $data = json_decode(file_get_contents("php://input"), true); print_r($data); ?>
그 중 file_get_contents 메소드를 사용하여 GET 요청의 데이터를 얻을 수도 있지만, 사용 시에는 allowed_url_fopen 구성 항목을 켜야 하기 때문에 실제 개발에서는 사용하지 않는 것이 좋습니다.
요약
위 내용은 PHP에서 프런트엔드 JSON 배열을 얻는 몇 가지 일반적인 방법입니다. 그 중에서 $_POST 및 file_get_contents 방법이 더 일반적입니다. JSON 데이터를 얻으려면 추가 인코딩 및 디코딩 작업이 필요합니다. 더 번거롭습니다. 실제 개발에서는 데이터를 더 잘 처리하기 위해 특정 요구 사항에 따라 프런트 엔드 JSON 배열을 얻는 적절한 방법을 선택할 수 있습니다.
위 내용은 PHP에서 프론트엔드 json 배열을 얻는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!