<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
	<channel>
				<title><![CDATA[KBController에서 json을 script.js로 넘기고 싶습니다]]></title>
		<link>https://www.cosmosfarm.com/threads/rss/document/9990</link>
		<description><![CDATA[<pre class="brush:php;toolbar:false;">
	public function documentLike(){
		if(isset($_POST['document_uid']) &amp;&amp; intval($_POST['document_uid'])){
			if(!@in_array($_POST['document_uid'], $_SESSION['document_vote'])){
				$_SESSION['document_vote'][] = $_POST['document_uid'];

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

				if($content-&gt;uid){


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




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

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

					if(10&lt;=$agee &amp;&amp; $agee&lt;19){
						$content-&gt;option-&gt;ten+=1;

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

					if(20&lt;=$agee &amp;&amp; $agee&lt;29){
						$content-&gt;option-&gt;twenty+=1;

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

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

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

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

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

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

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

<p> </p>

<pre class="brush:jscript;toolbar:false;">
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;
}</pre>

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

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

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

<p>console.log를 쳐도 출력도 안되고</p>

<p> </p>

<pre class="default prettyprint prettyprinted">
<code>var parsed = JSON.parse(json);
var arr = [];
for(var x in parsed){
  arr.push(parsed[x]);
}</code></pre>

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

<p>어디를 어떻게 고쳐야 할지 모르겠습니다...</p>]]></description>
		<copyright>Copyright 2026, 코스모스팜</copyright>
				<item>
			<title><![CDATA[console.log 로 했을때 아무것도 안나온다면 값이 없거나 서버에서 보내는 데이터가 json 형식의 데이터...]]></title>
			<link>https://www.cosmosfarm.com/threads/document/9999</link>
			<description><![CDATA[<p>console.log 로 했을때 아무것도 안나온다면 값이 없거나 서버에서 보내는 데이터가 json 형식의 데이터가 아니기 때문입니다.</p>

<p>우선 jQuery.post 에서 json 형식이 아닌 text 형식으로 데이터를 가져와서 console.log 해보세요.</p>

<p>어떤 데이터가 오는지부터 확인을 해보세요.</p>

<p>원하는 데이터가 오는지요.</p>

<p> </p>

<p>받아온 json 형식의 text 데이터를 오브젝트(배열)로 변경하시려면 아래처럼 하시면 됩니다.</p>

<p>var obj = jQuery.parseJSON(text);</p>

<p> </p>

<p>그리고 KBoard 클래스 파일을 수정하셨기 때문에 업데이트하시려면 고생좀 하실 듯하군요.</p>

<p>추가적으로 프로그램을 손보시려면 꼭 KBoard 클래스 파일외 다른 곳에 프로그램 코드를 작성해주세요.</p>
]]></description>
			<author>스레드봇</author>
			<pubDate>Tue, 16 Aug 2016 00:15:39 +0000</pubDate>
			<category>자바스크립트/jQuery</category>
		</item>
			</channel>
</rss>