반응형
PHP json_encode에 여러 배열을 전달하고 jQuery로 파싱하는 방법이 있습니까?
지금 이 PHP를 가지고 있습니다.
$columns = array(*/Data*/);
echo json_encode($columns);
그리고 이것은 JQuery와 함께 AJAX GET 요청을 통해 전송됩니다.
var columns = jQuery.parseJSON(response);
두 개 이상의 배열을 보낼 수 있으면 좋겠습니다.json_encode()
이것을 할 수 있는 방법이 있나요? 그리고 jQuery로 어떻게 파싱하시겠습니까?
물론이죠, 배열을 보낼 수도 있습니다.PHP 연관 배열은 자바스크립트 객체가 됩니다.
PHP에서:
$data = array();
$data['fruits'] = array('apple','banana','cherry');
$data['animals'] = array('dog', 'elephant');
echo json_encode($data);
그리고 jQuery에서
var data = jQuery.parseJSON(response);
그리고 나서 당신은 이와 같은 것을 할 수 있습니다.
console.log(data.fruits[0]); // apple
console.log(data.animals[1]); // elephant
코드는 다음과 같아야 합니다.
$columns = array(/*Data*/);
$columns1 = array(/*Data1*/);
echo json_encode(array($columns,$columns1));
jQuery 사용에서
var columns_array=jQuery.parseJSON(response);
columns=columns_array[0];
columns1=columns_array[1];
$data1 = array();
$data2 = array();
$data1[] = array('apple','banana','cherry');
$data2[] = array('dog', 'elephant');
echo json_encode(array($data1,$data2));
아약스에서
console.log(response[0][0])//apple
console.log(response[1][0])//dog.....
모든 배열을 채우면 다음과 같습니다.$array1_json
,$array2_json
등 제 경우에는
$number_of_array1elements = count($array1_json);
$number_of_array2elements = count($array2_json);
$number_of_array3elements = count($array3_json);
array_unshift($array1_json , $number_of_array1elements);
// pushes element to the start of array1_json
array_unshift($array2_json , $number_of_array2elements);
array_unshift($array3_json , $number_of_array3elements);
그리고 다른 배열들도 마찬가지입니다.
echo json_encode( array_merge($array1_json, $array2_json, $array3_json) );
.js 파일에서 다음을 사용합니다.
var val = xmlhttp.responseText;
var jsonData = JSON.parse(val);
var number_of_array1elements = jsonData[0];
for (var i = 1; i <= number_of_array1elements; i++ )
{
// use jsonData[i] to select the required element and do whatever is needed with it
}
var number_of_array2elements = jsonData[i];
for ( i = i+1; i <= number_of_array1elements+number_of_array2elements+1; i++ )
{
// use jsonData[i] to select the required element and do whatever is needed with it
}
언급URL : https://stackoverflow.com/questions/8373315/is-there-a-way-to-pass-multiple-arrays-to-php-json-encode-and-parse-it-with-jque
반응형
'programing' 카테고리의 다른 글
JNDI 이름에 대해 바인딩할 항목 없음 (0) | 2023.11.01 |
---|---|
Swift에서 문자열의 시작(접두사) 또는 끝(첨자)을 확인하는 방법 (0) | 2023.11.01 |
#1227 - 접근이 거부되었습니다. 이 작업을 위해 SUPER 권한이 필요합니다. (0) | 2023.11.01 |
Base64 String을 파일 입력 양식과 같은 자바스크립트 파일 개체로 변환하는 방법은 무엇입니까? (0) | 2023.11.01 |
개발 중 크래쉬리틱스를 비활성화하는 방법 (0) | 2023.11.01 |