jquery ajax函数返回null而不是json

时间:2012-02-05 20:07:47

标签: php jquery ajax forms contact

我正在开发一个通过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不太好,我还在学习......

1 个答案:

答案 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