2011-09-24 3 views
0

여기 올바른 JSON 변수가 반환되지만 값은 정의되지 않았습니까? 값이 정의되지 않은 돌아오고 있기 때문에

{"error":true} 

왜 이것이다 ... 그것이 반환 된 JSON에서 알림을 내 성공 JQuery와 통해 내 아약스 요청에 대한 기능,

success: function(response) { 

    if (response.error == undefined) { 

    alert(response); 
    } 
$('#' + id).after('<div id="emailMsg" class="error">' + response.error + '</div>'); 

} 

입니다 일어난다. 분명히 나는 ​​response.error를 호출 할 때 true 나 false를 얻어야한다.

UPDATE

변수) (문자열 및 부울하지, 내로 json_encode로 반환;

if (!$q -> rowCount()) { 

    echo json_encode(array('error' => false)); 
} 
else { 

    echo json_encode(array('error' => true)); 
} 

답변

1

$.ajax 호출에 dataType: 'json' 매개 변수를 추가 할 수 있습니다. 그러면 jQuery가 응답을 객체로 처리 할 수있게 해줍니다.

0

JSON을 먼저 문자열에서 JavaScript 객체로 구문 분석해야합니다.

JSON.parse(response)으로이 작업을 수행 할 수 있습니다. 기본 JSON이없는 이전 브라우저의 경우 eval(response)도 작동하지만 안전성은 떨어집니다.

+0

if 문 앞에 추가하기 만하면 작동하지 않습니다./ –

+0

'alert (typeof response);를 실행하여 무엇이 제공되는지 확인하십시오. –

+0

문자열을 반환하고 내 질문을 편집하여 json_encode(); –

관련 문제