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

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

QA

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

답변 2

본문

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

셀렉트박스에서 원하는 카테고리를 선택하면 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로 값을 넘기니까 이번엔 구문오류가 떠요ㅠㅠ
도대체 뭐가 문제인걸까요? 데이터타입이나 이런건 다 맞춘거 같은데....

답변을 작성하시기 전에 로그인 해주세요.
전체 4
© SIRSOFT
현재 페이지 제일 처음으로