我正在开发一个通过ajax命令提交的联系表单,数据被发送到一个php文件,在那里处理它并返回一个json对象但是我在将json对象恢复到ajax时遇到了一些麻烦命令因为它一直返回null,我使用的代码如下......
$("#send").click(function () {
var complete = true;
$('input#name, input#email, input#subject, textarea#message').each(function () {
if ($(this).val()) {
$(this).css("background", "#ffffff").css("color", "#111111");
} else {
$(this).css("background", "#d02624").css("color", "#ffffff");
complete = false;
}
});
if (complete == true) {
var name = $("input#name").val();
var email = $("input#email").val();
var subject = $("input#subject").val();
var message = $("textarea#message").val();
var data = '{"name":"' + name + '","sender":"' + email + '","subject":"' + subject + '","message":"' + message + '"}';
$.ajax({
type: "POST",
url: "contact.php",
data: "token=" + $.base64.encode(data),
dataType: "json",
success:function(response) {
if (response) {
var data = $.parseJSON(response);
alert(data.response);
if (data && data.status == "success") {
$.fancybox.close();
}
}}
});
}
});
你也可以看到问题:http://idify.co.uk,谢谢你的帮助,我对javascript不太好,我还在学习......
答案 0 :(得分:0)
更改
if (response) {
var data = $.parseJSON(response);
alert(data.response);
if (data && data.status == "success") {
$.fancybox.close();
}
}}
到
if (response) {
var data = response;
alert(data.response);
if (data && data.status == "success") {
$.fancybox.close();
}
}}
或直接使用response
。