현재 위치: > 최신 기사 목록> Ajax 호출로 JSON 응답 헤더 설정

Ajax 호출로 JSON 응답 헤더 설정

M66 2025-05-18

헤더 기능으로 JSON 응답 헤더를 설정하고 AJAX 호출로 데이터를 반환하는 방법은 무엇입니까?

웹 개발에서는 특히 AJAX 호출을 사용할 때 데이터를 반환 할 때 프론트 엔드와의 비동기 요청 데이터 상호 작용을 처리해야합니다. 브라우저가 반환 된 데이터 형식을 올바르게 처리 할 수 ​​있도록 올바른 응답 헤더 정보를 설정해야합니다. 우리가 반환하는 데이터가 JSON 형식으로 사용하려면 PHP는 HTTP 응답 헤더를 설정하기 위해 헤더 () 함수를 제공합니다. 이 기사에서는 Header () 함수를 사용하여 JSON 응답 헤더를 설정하고 AJAX로 JSON 데이터를 반환하는 방법을 설명합니다.

JSON 응답 헤더 설정

JSON 형식 데이터를 클라이언트에 반환하려면 먼저 HTTP 응답 헤더에서 컨텐츠 유형이 올바르게 Application/JSON 으로 설정되어 있는지 확인하십시오. 이런 식으로 브라우저는 HTML 또는 기타 형식이 아닌 JSON 형식의 데이터를 수신한다는 것을 알게됩니다.

 <?php
// 응답 헤더를 설정하십시오,반환 데이터 유형을 AS로 지정하십시오 JSON
header('Content-Type: application/json');

// 연관 배열을 만듭니다,반환 할 데이터를 나타냅니다
$response = array(
    'status' => 'success',
    'message' => 'Data has been successfully processed.'
);

// 사용 json_encode() 함수는 배열을 변환합니다 JSON 체재
echo json_encode($response);
?>

Ajax 통화와 결합되었습니다

올바른 JSON 응답 헤더가 설정되면 AJAX 호출을 통해 반환 된 JSON 데이터를 얻을 수 있습니다. 프론트 엔드가 JavaScript의 fetch () 함수 또는 jQuery의 $ .ajax ()를 사용하여 요청을 보내고 데이터를 수신한다고 가정합니다. 다음은 Fetch ()을 사용하여 요청을 보내고 JSON 응답을 처리하는 예입니다.

fetch ()를 사용하여 ajax 요청 보내기

 fetch('http://m66.net/api/data.php', {
    method: 'GET'
})
.then(response => response.json()) // 분석 JSON 데이터
.then(data => {
    console.log(data);  // 在控制台输出返回的데이터
})
.catch(error => console.error('Error:', error));

jQuery의 $ .ajax ()를 사용하여 요청 보내기

 $.ajax({
    url: 'http://m66.net/api/data.php',
    type: 'GET',
    dataType: 'json',  // 指定返回的데이터类型为 JSON
    success: function(data) {
        console.log(data);  // 在控制台输出返回的데이터
    },
    error: function(xhr, status, error) {
        console.error('Error:', error);
    }
});

완전한 예

다음은 Header () 함수를 사용하여 JSON 응답 헤더를 설정하는 방법을 보여주는 완전한 PHP 및 AJAX 예입니다.

PHP (data.php)

 <?php
// 응답 헤더를 설정하십시오,반환 데이터 유형을 AS로 지정하십시오 JSON
header('Content-Type: application/json');

// 연관 배열을 만듭니다,반환 할 데이터를 나타냅니다
$response = array(
    'status' => 'success',
    'message' => 'Data has been successfully processed.',
    'data' => array('item1', 'item2', 'item3')
);

// 사용 json_encode() 함수는 배열을 변환합니다 JSON 체재
echo json_encode($response);
?>

자바 스크립트 (프론트 엔드)

 fetch('http://m66.net/api/data.php', {
    method: 'GET'
})
.then(response => response.json()) // 분석 JSON 데이터
.then(data => {
    console.log(data);  // 在控制台输出返回的데이터
})
.catch(error => console.error('Error:', error));

주목해야 할 것

  1. JSON이 올바르게 형식화되어 있는지 확인하십시오 . PHP에서 반환 된 데이터는 유효한 JSON 형식이어야합니다. JSON_ENCODE () 함수를 사용하여 PHP 배열을 JSON 형식의 문자열로 변환 할 수 있습니다.

  2. CORS 문제 : 프론트 엔드와 백엔드가 동일한 도메인 이름 아래에 있지 않은 경우 CORS (Cross-Domain Resource Sharing)가 발생할 수 있습니다. Cross-Domain 요청을 허용하려면 PHP에서 액세스-제어-홀로-오리핀 응답 헤더를 설정해야합니다.

     header('Access-Control-Allow-Origin: *');
    

    이를 통해 도메인 요청이 API에 액세스 할 수 있습니다.

  3. 오류 처리 : JSON 응답을 처리 할 때 프런트 엔드가 HTTP 상태 코드가 200이 아닌 경우와 같이 반환 된 오류 정보를 올바르게 처리 할 수 ​​있는지 확인하십시오.

올바른 응답 헤더를 설정하고 AJAX를 사용하여 전면과 후면 사이에 JSON 데이터를 효율적으로 전달할 수 있습니다.