채택완료
ajax로 게시글 번호와 제목을 불러오는데 SyntaxError...ㅠㅠ도와주세요
게시판에서 글을 쓸때 다른 게시판의 글번호와 제목을 들고오려고 합니다
셀렉트박스에서 원하는 카테고리를 선택하면 onchange를 사용해
ajax함수로 이동하구요 다 불러오는거 같은데 계속 error가 뜨네요ㅠㅠ
Copy
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)
Copy
<?phpheader("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개 / 댓글 2개
채택된 답변
+20 포인트
2016-09-28 (수) 14:20:20
Copy
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); } });}
Copy
<?phpheader("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);}?>
답변에 대한 댓글 1개
빨간망토의비밀
2016-09-28 (수) 13:46:16
리턴되는 값을 json_encode 값으로 남겨보세요...
dataTyle를 json으로 했으니까, json으로 리턴해줘야죠...
답변에 대한 댓글 1개
2016-09-28 (수) 13:57:30
배열로 값을 넘겨받을려고 하는데 지금 코드는 배열이 아니라서
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로 값을 넘기니까 이번엔 구문오류가 떠요ㅠㅠ
도대체 뭐가 문제인걸까요? 데이터타입이나 이런건 다 맞춘거 같은데....
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로 값을 넘기니까 이번엔 구문오류가 떠요ㅠㅠ
도대체 뭐가 문제인걸까요? 데이터타입이나 이런건 다 맞춘거 같은데....
답변을 작성하려면 로그인이 필요합니다.