테스트 사이트 - 개발 중인 베타 버전입니다

ajax로 게시글 번호와 제목을 불러오는데 SyntaxError...ㅠㅠ도와주세요 채택완료

반짝이다 9년 전 조회 8,650

게시판에서 글을 쓸때 다른 게시판의 글번호와 제목을 들고오려고 합니다

셀렉트박스에서 원하는 카테고리를 선택하면 onchange를 사용해

ajax함수로 이동하구요 다 불러오는거 같은데 계속 error가 뜨네요ㅠㅠ

 

</p><p><span style="font-size: 11pt;">    function search_write(vals) { //onchange시 이동하는 함수</span> </p><p><span class="Apple-tab-span" style="white-space:pre">		</span>var gu = vals;</p><p><span class="Apple-tab-span" style="white-space:pre">		</span>var wr_id = "";</p><p><span class="Apple-tab-span" style="white-space:pre">		</span>var ca_name = "";</p><p><span class="Apple-tab-span" style="white-space:pre">		</span>alert("here");</p><p><span class="Apple-tab-span" style="white-space:pre">		</span>$.ajax({</p><p><span class="Apple-tab-span" style="white-space:pre">			</span>url: g5_bbs_url+"/ajax.....php",</p><p><span class="Apple-tab-span" style="white-space:pre">			</span>type: "POST",</p><p><span class="Apple-tab-span" style="white-space:pre">			</span>data: { "gu": gu },</p><p><span class="Apple-tab-span" style="white-space:pre">			</span>dataType: "json",</p><p>            success: function(data) {</p><p><span class="Apple-tab-span" style="white-space:pre">				</span>ca_name = data.ca_name;</p><p><span class="Apple-tab-span" style="white-space:pre">				</span>alert(ca_name);</p><p><span class="Apple-tab-span" style="white-space:pre">			</span>},</p><p><span class="Apple-tab-span" style="white-space:pre">			</span>error: function (request,status,error) {</p><p><span class="Apple-tab-span" style="white-space:pre">				</span>alert("code:"+request.status+"\n"+"message:"+request.responseText+"\n"+"error:"+error);</p><p><span class="Apple-tab-span" style="white-space:pre">			</span>}</p><p><span class="Apple-tab-span" style="white-space:pre">		</span>});</p><p><span class="Apple-tab-span" style="white-space:pre">	</span>}</p><div>

ajax실행 파일(ajax.....php)
</span></div><div><div><span style="font-size: 14.6667px;"><?php</span></div><div><span style="font-size: 14.6667px;">header("content-type:text/html; charset=utf-8");</span></div><div><span style="font-size: 14.6667px;">include_once('./_common.php');</span></div><div><span style="font-size: 14.6667px;">include_once(G5_LIB_PATH.'/common.lib.php');</span></div><div><span style="font-size: 14.6667px;">
</span></div><div><span style="font-size: 14.6667px;">$wr_addr_sub   = trim($_POST["gu"]);</span></div><div><span style="font-size: 14.6667px;">
</span></div><div><span style="font-size: 14.6667px;">if($wr_addr_sub) {</span></div><div><span style="font-size: 14.6667px;"><span class="Apple-tab-span" style="white-space:pre">	</span>$ca_name = array();</span></div><div><span style="font-size: 14.6667px;"><span class="Apple-tab-span" style="white-space:pre">	</span>$sql = "select wr_id, ca_name from tablename where wr_addr_sub like '".$wr_addr_sub."%' and wr_is_comment='0' order by wr_datetime desc";</span></div><div><span style="font-size: 14.6667px;"><span class="Apple-tab-span" style="white-space:pre">	</span>$res = sql_query($sql);</span></div><div><span style="font-size: 14.6667px;"><span class="Apple-tab-span" style="white-space:pre">	</span>for($i=0;$row = sql_fetch_array($res);$i++) {</span></div><div><span style="font-size: 14.6667px;"><span class="Apple-tab-span" style="white-space:pre">		</span>$ca_name = $row["ca_name"];</span></div><div><span style="font-size: 14.6667px;"><span class="Apple-tab-span" style="white-space:pre">		</span>echo $ca_name."|";</span></div><div><span style="font-size: 14.6667px;"><span class="Apple-tab-span" style="white-space:pre">		</span>$wr_id = $row["wr_id"];</span></div><div><span style="font-size: 14.6667px;"><span class="Apple-tab-span" style="white-space:pre">		</span>echo $wr_id."|";</span></div><div><span style="font-size: 14.6667px;"><span class="Apple-tab-span" style="white-space:pre">	</span>}</span></div><div><span style="font-size: 14.6667px;">}</span></div><div><span style="font-size: 14.6667px;">?></span></div></div><div><span style="font-size: 14.6667px;">

이렇게 하고 셀렉트 박스를 선택하면 
error가 뜨는데요 내용은
code:200
message:ca_name|wr_id|ca_name|wr_id|ca_name|wr_id| (db에서 가져온 데이터들)
error:SyntaxError:유효하지 않은 문자입니다.


라고 떠요ㅠㅠ....db에서 검색하고 변수에도 맞게 들어간것 같은데...
뭐가 문제일까요ㅠㅠ 도와주세요~ㅠㅠㅠ
댓글을 작성하려면 로그인이 필요합니다.

답변 2개

채택된 답변
+20 포인트
9년 전

</p><p>function search_write(vals) { //onchange시 이동하는 함수</p><p>    var gu = vals;</p><p>    var wr_id = "";</p><p>    var ca_name = "";</p><p>    alert("here");</p><p>    $.ajax({</p><p>        url: "test.php",</p><p>        type: "POST",</p><p>        data: { "gu": gu },</p><p>        dataType: "json",</p><p>        success: function(data) {</p><p>            console.log(data);</p><p>            data.forEach(function(element, index, array){</p><p>                alert(element.ca_name);</p><p><span style="font-size: 11pt;">            });</span> </p><p>        },</p><p>        error: function (request,status,error) {</p><p>            alert("code:"+request.status+"\n"+"message:"+request.responseText+"\n"+"error:"+error);</p><p>        }</p><p>    });</p><p>}</p><p><span style="font-size: 11pt;">
 

 

 

 </span></p><p><?php</p><p>header("content-type:text/html; charset=utf-8");</p><p>include_once('./_common.php');</p><p>include_once(G5_LIB_PATH.'/common.lib.php');</p><p> </p><p> </p><p>$wr_addr_sub   = trim($_POST["gu"]);</p><p> </p><pre style="background-color: rgb(255, 255, 255); font-family: Consolas; font-size: 9pt;"><span style="font-family: 돋움; font-size: 11pt;">$data = array();
</span><span style="font-family: 돋움; font-size: 11pt;">

if($wr_addr_sub) {</span></pre><p><span class="Apple-tab-span" style="white-space:pre">	</span>$ca_name = array();</p><p><span class="Apple-tab-span" style="white-space:pre">	</span>$sql = "select wr_id, ca_name from tablename where wr_addr_sub like '".$wr_addr_sub."%' and wr_is_comment='0' order by wr_datetime desc";</p><p><span class="Apple-tab-span" style="white-space:pre">	</span>$res = sql_query($sql);</p><p><span class="Apple-tab-span" style="white-space:pre">	</span>for($i=0;$row = sql_fetch_array($res);$i++) {</p><p><span style="font-size: 11pt;">             array_push($data, array(</span> </p><p>                 'ca_name' => $row["ca_name"],</p><p>                 'wr_id'     => $row["wr_id"]</p><p>             ));</p><p><span class="Apple-tab-span" style="font-size: 11pt; white-space: pre;">	</span><span style="font-size: 11pt;">}</span> </p><p><span style="font-size: 11pt;"> </span></p><p><span style="font-size: 11pt;">      echo json_encode($data);</span></p><p>}</p><p>?></p><div><span style="font-size: 11pt;">

 

 

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

반짝이다
9년 전
진짜진짜 감사합니다ㅠㅠ!!!!!!해결됐어요!!

댓글을 작성하려면 로그인이 필요합니다.

리턴되는 값을 json_encode 값으로 남겨보세요...

 

dataTyle를 json으로 했으니까, json으로 리턴해줘야죠...

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

반짝이다
9년 전
배열로 값을 넘겨받을려고 하는데 지금 코드는 배열이 아니라서
for($i=0;$row = sql_fetch_array($res);$i++) {
$ca_name = $row["ca_name"];
echo $ca_name."|";
$wr_id = $row["wr_id"];
echo $wr_id."|";
}
이부분을
for($i=0;$row = sql_fetch_array($res);$i++) {
$ca_name = $row["ca_name"];
$wr_id = $row["wr_id"];
$$data = array("ca_name" => $ca_name, "wr_id" => $wr_id);
$$data = json_encode($$data);
print_r($$data);
}
이렇게 수정했거든요....

json_encode로 값을 넘기니까 이번엔 구문오류가 떠요ㅠㅠ
도대체 뭐가 문제인걸까요? 데이터타입이나 이런건 다 맞춘거 같은데....

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인