개발 Q&A

제목 ajax로 통해 php서버에 배열로 각 변수 값을 넣고 다시 자바스크립트로 배열값
글쓴이 amkor 작성시각 2015/10/23 18:38:33
댓글 : 3 추천 : 0 스크랩 : 0 조회수 : 16124   RSS
 
==========php 서버========
function ajaxdataload() { 
 //생략 
$data = array(
	    "IDX"   => $IDX,
	    "TITLE" => $TITLE
	  );
	  
echo $data;
}
 
 
=============자바스크립트========
 
생략.....
	$.post('링크', ajfData,	function(date) {   // 위에 php서버에서 담은 배열 변수
  			var a = new Array();
  			var a = date;
  			
  			    console.log(a);  // 이렇게 찍어보니 Array 로 한 단어로 출력됩니다 ㅠ,ㅠ
  				  opener.document.main_form.TITLE.value = date;
  					//window.close();
  			});
 


 

ajax로 통해 php서버에 배열로 각 변수 값을 넣고 결과값을 다시 자바스크립트로 보낸다음 

 

결과값 받은 변수는 다시 해당 HTML 태그에 전송하는 방식인데요

 

일단 php서버에서 $data는 정상적으로 값이 전달됩니다.

 

그러나 자바스크립트로 가면서 값이 "Array"로 글자형태로 출력되네요 ㅠ,ㅠ

 

방법이 없을까요?

 

배열로 받은 것을 다시 풀어서 각각 태크에 입히려고 하는데요 ㅠ,ㅠ 

 다음글 건곤대나이 님 감사합니다. json_encode으로 ... (4)
 이전글 JSON데이타를 CSV로 변환하는 라이브러리 구합니다. (7)

댓글

건곤대나이 / 2015/10/24 04:47:57 / 추천 0
초보때 많이 겪는 문제입니다. ^^

$data = json_encode($data);
echo $data;


이부분도 opener.document.main_form.TITLE.value = date;
이렇게 되어야 opener.document.main_form.TITLE.value = date.TITLE;

date는 data의 오타인가요?
 
amkor / 2015/10/24 12:35:39 / 추천 0
건곤대나이 > 정말 감사합니다 ㅠ,ㅠ
건곤대나이 / 2015/10/24 14:11:05 / 추천 0
헉~ 저도 초보때 도움을 받은터라 ^^

php의 array, object 변수형은 javascript의 array, object와 매칭이 안된다는걸 초보때알기는 쉽지 않죠.

json이라는 데이타 형식(?)이 나오게 된 배경도 서버스크립트언어(c/c++, php, asp등)와 클라이언트스크립트언어(javascript) 사이에
구조화된변수(array, object등)가 직접 전달이 안되다보니 변환과정이 필수적이라 나온것이죠.

클라이언트스크립트가 서버스크립트의 변수형을 해석하지 못하는 이유가 아마도
서버스크립트 언어는 다양하다보니 서버스크립트가 처리한 변수를 클라이언트로 보낼때 제각각으로 보내다 보니 그런듯 합니다.

클라이언트스크립트는 자바스크립트로 통일되어 있다보니
브라우즈에 탑재된 자바스크립트는 내가 이해할 수 있는 구조로 통일해서 보내줘라고 하는것이죠.

브라우즈에서 해석 못하는 데이타를 서버에서 아무리 보내도 소용이 없겠죠.