您好我有一个提交表单并发送和发送电子邮件的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);
}
});
答案 0 :(得分:0)
尝试获取'fancybox-content'div的html值。 $( '#的fancybox内容')的HTML();
答案 1 :(得分:0)
如果您的警报失败,那么您确定您的json有效吗?你能把它粘贴到你的问题中吗?您可以在JsonLint在线验证。
答案 2 :(得分:0)
如何返回$succes
数组?
您应该以保留其格式的方式echo
数组,并且javascript(不是print_r
或var_dump
)可以理解:
echo json_decode($success);
将返回表示php数组的json字符串,js会自动转换为对象 希望这会有所帮助。
答案 3 :(得分:0)
使用
json_decode($success, true);
当为TRUE时,返回的对象将被转换为关联数组。