JSON返回未定义

时间:2011-04-12 11:29:48

标签: javascript ajax json jquery

您好我有一个提交表单并发送和发送电子邮件的ajax请求,如果电子邮件成功提交,我会编码一个看起来像这样的PHP数组,

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

然后我在我的ajax请求中检查data的状态,看看state是否匹配“Email Sent”但是当我alert(data)我未定义时,我做错了什么?以下是我的javascript,

$.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);
                    }
                });

4 个答案:

答案 0 :(得分:0)

尝试获取'fancybox-content'div的html值。 $( '#的fancybox内容')的HTML();

答案 1 :(得分:0)

如果您的警报失败,那么您确定您的json有效吗?你能把它粘贴到你的问题中吗?您可以在JsonLint在线验证。

答案 2 :(得分:0)

如何返回$succes数组?
您应该以保留其格式的方式echo数组,并且javascript(不是print_rvar_dump)可以理解:

echo json_decode($success);

将返回表示php数组的json字符串,js会自动转换为对象 希望这会有所帮助。

答案 3 :(得分:0)

使用

json_decode($success, true); 
  

当为TRUE时,返回的对象将被转换为关联数组。