2011-04-12 4 views
1

안녕하세요 양식을 제출하고 전송하고 이메일이 성공적으로 제출하면 이메일, 나는이처럼 보이는 PHP 배열을 인코딩 아약스 요청,JSON 반환 정의되지 않은

$success = array("state" => "Email Sent");

내가이 그런 다음 내 아약스 요청에서 data의 상태를 확인하여 state이 "Email Sent"와 일치하는지 확인하지만 alert(data) 내가 정의되지 않은 경우 무엇이 잘못 되었나요? 아래는 내 자바 스크립트,

$.ajax({ 
        url: "<?php echo base_url(); ?>home/callback", 
        data: $("#callback").serialize(), 
        type: "POST", 
        dataType: "JSON", 
        success: function(data){ 
         $("#fancybox-content div").html(data); 
         alert(data.state); 
        } 
       }); 
+0

출력 전에'json_encode ($ success)'를 했습니까? – kjy112

답변

0

'fancybox-content'div의 html 값을 가져 오도록하십시오. $ ('# fancybox-content') .html();

0

경고가 표시되지 않으면 json이 유효한지 확인하십시오. 그것을 질문에 붙여 넣을 수 있습니까? 온라인 JsonLint에서 확인할 수 있습니다.

0

$succes 배열을 어떻게 반환합니까?
당신은 그것을 보존 할 수있는 방법으로 배열을 echo한다은 형식이고 자바 스크립트 (하지 print_r 또는 var_dump) 이해할 것 : 자동 변환 JS 당신의 PHP 배열을 나타내는 JSON 문자열을 반환합니다

echo json_decode($success); 

개체로.
희망이 도움이됩니다.

0

사용

json_decode($success, true); 

TRUE, 반환 객체는 연관 배열로 변환됩니다.

관련 문제