php ajax 로 배열 값 받는 방법 문의합니다.

php ajax 로 배열 값 받는 방법 문의합니다.

QA

php ajax 로 배열 값 받는 방법 문의합니다.

본문

[ajax 문서] 
function ajaxItemLoad(id) { 
    var frm = document.itemList; 
    frm.ca_id.value = id; 
    $.ajax({ 
        url:'./ajax.itemload.php', 
        type:'post', 
        datatype:'json', 
        data:$(frm).serialize(), 
        success:function(data){ 
            
            var items = []; 
            $.each(data, function(key,val) { 
                items[key] = val; 
                alert($items[key]); 
            }); 
            
        } 
    }) 


[php 문서] 
<?php 
include_once('./_common.php'); 

$data = array(); 
$ca_id = $_POST['ca_id']; 

$sql = " select * from g5_shop_item where ca_id LIKE '{$ca_id}%' or ca_id2 LIKE '{$ca_id}%' or ca_id3 LIKE '{$ca_id}%' "; 
$result = sql_query($sql, true); 
$cnt = 0; 
while( $row = mysqli_fetch_array($result) ) { 
    $data[$cnt][it_name] = $row['it_name']; 
    $cnt++; 

echo json_encode($data); 
exit; 
?> 


위 파일들을 동작시키면 

jquery-1.11.3.min.js:2 

Uncaught TypeError: Cannot use 'in' operator to search for 'length' in [{"it_name":"\ucef4\ud4e8\ud130 \uc8fc\uc694\ubd80\ud488 CPU \ud14c\uc2a4\ud2b8\uc0c1\ud488 -1-"},{"it_name":"\ucef4\ud4e8\ud130 \uc8fc\uc694\ubd80\ud488 CPU \ud14c\uc2a4\ud2b8\uc0c1\ud488 -2-"},{"it_name":"\ucef4\ud4e8\ud130 \uc8fc\uc694\ubd80\ud488 CPU \ud14c\uc2a4\ud2b8\uc0c1\ud488 -3-"}] 

크롬 콘솔창에 위와 같은 에러문구가 표시됩니다. 
스택오버플로 사이트에서 확인해보니 jquery-1.11.3.min 제이쿼리 버젼문제라고 하던데... 
위 에러가 뜨는 이유가 버젼문제가 맞나요? 

영카트에서 이런 제이쿼리 버젼문제때문에 에이젝스 배열값을 받지 못한다는건 말이 안되는거같은데.. 
(이미 다른 ajax 파일들 보면 다 배열값으로 넘기고 있고...) 

어디가 문제인지 알려주신다면 감사하겠습니다 ㅜ 

이 질문에 댓글 쓰기 :

답변 2


while( $row = mysqli_fetch_array($result) ) { 
    $data[$cnt]['it_name'] = $row['it_name'];  // <- ' 가 빠진듯합니다만..
    $cnt++; 
}  

 

답변을 작성하시기 전에 로그인 해주세요.
전체 150
QA 내용 검색
filter #json ×

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT