source

Ajax - 성공 함수에서 반환된 배열을 사용하는 방법

manysource 2023. 11. 1. 22:26

Ajax - 성공 함수에서 반환된 배열을 사용하는 방법

안녕하세요 저는 배열을 반환하는 php 코드를 가지고 있습니다.나는 이 배열을 나의 ajax 성공 함수에 사용할 수 있기를 원하지만 어떻게 해야 할지 잘 모르겠습니다.나는 다음을 시도해 보았지만, 운이 없었습니다.

php 코드:

$arr = array();
$arr[0] = "Mark Reed"
$arr[1] = "34";
$arr[2] = "Australia";

exit($arr);

js 코드:

$.ajax({
    type: "POST",
    url: "/returndetails.php",
    data: 'id=' + userid,
    success: function (data) {
        document.getElementById("name").innerHTML = data[0];
        document.getElementById("age").innerHTML = data[1];
        document.getElementById("location").innerHTML = data[2];
    }
});

서버에서 데이터를 JSON으로 반환해야 합니다.

PHP

$arr = array();
$arr[0] = "Mark Reed";
$arr[1] = "34";
$arr[2] = "Australia";

echo json_encode($arr);
exit();

JS

$.ajax({
    type: "POST",
    url: "/returndetails.php",
    data: 'id=' + userid,
    dataType: "json", // Set the data type so jQuery can parse it for you
    success: function (data) {
        document.getElementById("name").innerHTML = data[0];
        document.getElementById("age").innerHTML = data[1];
        document.getElementById("location").innerHTML = data[2];
    }
});

작은 실수 하나:

없음:exit($arr);

대체 위치:echo json_encode($arr);

예를 들어 표시하려는 경우 문제가 발생합니다.data[0]그리고.data[1], 스트링에서 나온 캐릭터 같아요.추가하는것을 해결합니다.header("Content-Type: application/json");신청하기 전에echo json_encode($arr)

해결책은 이렇습니다.

$arr = array();
$arr[0] = "Mark Reed"
$arr[1] = "34";
$arr[2] = "Australia";

header("Content-Type: application/json");

echo json_encode($arr);

exit();

대신에

$arr = array();
$arr[0] = "Mark Reed"
$arr[1] = "34";
$arr[2] = "Australia";

exit($arr);

언급URL : https://stackoverflow.com/questions/19503631/ajax-how-to-use-a-returned-array-in-a-success-function