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

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

QA

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

본문

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

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

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

 


    function search_write(vals) { //onchange시 이동하는 함수 
		var gu = vals;
		var wr_id = "";
		var ca_name = "";
		alert("here");
		$.ajax({
			url: g5_bbs_url+"/ajax.....php",
			type: "POST",
			data: { "gu": gu },
			dataType: "json",
            success: function(data) {
				ca_name = data.ca_name;
				alert(ca_name);
			},
			error: function (request,status,error) {
				alert("code:"+request.status+"\n"+"message:"+request.responseText+"\n"+"error:"+error);
			}
		});
	}

ajax실행 파일(ajax.....php)

<?php
header("content-type:text/html; charset=utf-8");
include_once('./_common.php');
include_once(G5_LIB_PATH.'/common.lib.php');


$wr_addr_sub   = trim($_POST["gu"]);


if($wr_addr_sub) {
	$ca_name = array();
	$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";
	$res = sql_query($sql);
	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."|";
	}
}
?>


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


라고 떠요ㅠㅠ....db에서 검색하고 변수에도 맞게 들어간것 같은데...
뭐가 문제일까요ㅠㅠ 도와주세요~ㅠㅠㅠ

이 질문에 댓글 쓰기 :

답변 2


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

 

 

 
<?php
header("content-type:text/html; charset=utf-8");
include_once('./_common.php');
include_once(G5_LIB_PATH.'/common.lib.php');
 
 
$wr_addr_sub   = trim($_POST["gu"]);
 
$data = array();


if($wr_addr_sub) {	$ca_name = array();
	$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";
	$res = sql_query($sql);
	for($i=0;$row = sql_fetch_array($res);$i++) {
             array_push($data, array( 
                 'ca_name' => $row["ca_name"],
                 'wr_id'     => $row["wr_id"]
             ));
	} 
 
      echo json_encode($data);
}
?>

 

 

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

 

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

배열로 값을 넘겨받을려고 하는데 지금 코드는 배열이 아니라서
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로 값을 넘기니까 이번엔 구문오류가 떠요ㅠㅠ
도대체 뭐가 문제인걸까요? 데이터타입이나 이런건 다 맞춘거 같은데....

답변을 작성하시기 전에 로그인 해주세요.
전체 123,780 | RSS
QA 내용 검색

회원로그인

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