KBController에서 json을 script.js로 넘기고 싶습니다

	public function documentLike(){
		if(isset($_POST['document_uid']) && intval($_POST['document_uid'])){
			if(!@in_array($_POST['document_uid'], $_SESSION['document_vote'])){
				$_SESSION['document_vote'][] = $_POST['document_uid'];

				$content = new KBContent();
				$content->initWithUID($_POST['document_uid']);

				if($content->uid){


					$user_info = get_userdata(get_current_user_id());
					$gen       = $user_info->gender;
					$agee      = $user_info->age;




					if($gen=="male"){
						$content->option->male+=1;
						$genText="male";
						$genNum=intval($content->option->male);
					}
					else{
						$content->option->female+=1;

						$genText="female";
						$genNum=intval($content->option->female);
					}

					if(10<=$agee && $agee<19){
						$content->option->ten+=1;

						$ageText="ten";
						$ageNum=intval($content->option->ten);
					}

					if(20<=$agee && $agee<29){
						$content->option->twenty+=1;

						$ageText="twenty";
						$ageNum=intval($content->option->twenty);
					}
					if(30<=$agee && $agee<39){
						$content->option->thirty+=1;

						$ageText="thirty";
						$ageNum=intval($content->option->thirty);
					}
					if(40<=$agee && $agee<49){
						$content->option->fourty+=1;

						$ageText="fourty";
						$ageNum=intval($content->option->fourty);
					}

					$content->like+=1;
					$content->vote = $content->like - $content->unlike;
					$content->updateContent();

					$arr=[intval($content->like),$genText,$genNum,$ageText,$ageNum];

					echo json_encode([intval($content->like),$genText,$genNum,$ageText,$ageNum]);
					exit;
				}
			}
		}
		exit;
	}

위 코드는 기존의 intval($content->like)에 더해서, 유저의 연령, 나이대를 json으로 묶어 script.js로 넘기는 코드입니다.

 

function kboard_document_like(button){
	if(!kboard_ajax_lock){
		kboard_ajax_lock = true;
		jQuery.post(
			//url
			kboard_settings.alax_url,
			//data
			{'action':'kboard_document_like', 'document_uid':jQuery(button).data('uid')},
			// 성공함수
			function(res){
				kboard_ajax_lock = false;
				console.log(res);
				if(res){
					jQuery('.kboard-document-like-count', button).text(res);
				}
				else{
					alert(kboard_localize_strings.you_have_already_voted);
				}
			}
			,'json'
		);
	}
	else{
		console.log(res);
		alert(kboard_localize_strings.please_wait);
	}
	return false;
}

또 위 코드는 json으로 받은 데이터를 가지고 처리하는 클라이언트단입니다..

처리를 하는 코드를 짜야 하는데, res로 받은 json을 배열로 바꾸지를 못하겠습니다...

일단 저 코드를 적용해보면 좋아요버튼 속에 정보가 뜨는걸 보니 전송은 제대로 되는것 같은데,

console.log를 쳐도 출력도 안되고

 

var parsed = JSON.parse(json);
var arr = [];
for(var x in parsed){
  arr.push(parsed[x]);
}

위 코드를 사용해서 json을 배열로 바꿔보려고 해도 syntax error가 발생하네요...

어디를 어떻게 고쳐야 할지 모르겠습니다...

좋은 정보와 인맥을 동시에, 워드프레스 사용자 단톡방 참여하기
워드프레스 에러 기술지원 서비스 전문가에게 맡기세요
워드프레스 에러 기술지원 서비스 전문가에게 맡기세요