질문
Q #12379
ajax 다시 문의드려요.
appo
2015-07-23 18:20:08
구글링, stackoverflow.com같은데서도 해결책을 찾지 못했습니다.
파이어폭스에 포스트도 제대로 넘어가고,
응답란에 [{"user_idx":"8","name":"appo"},{"user_idx":"7","name":"리그오브"}] 나옵니다.
컨트롤러는
$result = $this->Admin_m->ajaxA($data);
echo json_encode($result,JSON_UNESCAPED_UNICODE); <-이것도 많이고쳐보고,
혹시 모델에서 문제인가 싶어서 이것저것 변경해보고 했는데 컨트롤러도 고쳐보고 했지만
뷰에서 에러가 계속 납니다.
success:function(data) {
var result = $.parseJSON(data);
//alert(result[0].id);
$("#Select").html("선택");
for( var i=0 ; i < result.length ; i++){
$("#Select").append(""+result[i].name+"");
},
error : function(request, status, error){
alert("error"+request+status+error);
alert내용
error[object Object] parsererror SyntaxError: JSON.parse: unexpected non-whitespace character after JSON data at line 1 column 3 of the JSON data
에러가 계속 나고, non-whitespace character 를 찾아보니 띄어쓰기가 아닌 문자라고 하는데,
그런 문자가 없습니다.
대체 어디가 문제일까요?
그리고 추가로
화면에서 선택한 순으로 정렬하고자 할때 셀렉트 박스를 이용한다고 하면,
책에 있는 것처럼 $search_word같이 박스의 값을 post로 보내는게 나을 것 같은데
예를들어 가입날짜, 레벨, 아이디순서를 select창에서 선택하면 그 순서대로 정렬하려면
그걸 선택할때마다 post로 보내서 밑에 리스트를 정렬하려면, 이것도 ajax로 하는게 나을까요?
아니면 그냥 폼 post가 나을까요?
그냥 컨트롤러에서 처음 받은 데이터를 뷰에서 select창의 값대로 정렬하려고 생각했었는데
그러면 서버에서 내용이 변경되더라도 반영이 안되니 그때그때 db에 요청해야 할 거 같아서 안될거같구요.
하나의 결과물에 방법이 여러개이니 고민되네요.
대략적인 가능할 거 같은 답변이라도 달아주시면 열심히 수정해보겠습니다.
에러 메시지 대로 라면 화이트 스페이스가 문제 같네요.