$ .ajax未成功,但成功

时间:2018-07-17 23:58:27

标签: jquery ajax

我下面有这段代码:

    $.ajax({
        url: url,
        type: "POST",
        crossDomain: true,
        headers: headers,
        //async: false,
        jsonpCallback: 'jsonpCallback',
        dataType: 'json',
        //cache: false,
        //data: formData,
        encode: true
    }).success(function (data) {
        //data = data.substring(5, 5000);
        //myObj = $.parseJSON(data);

        console.log("Data coming back from the server: ", data);

        if (data === 0) {
            $('.success').fadeIn(1000);
            //Reset form after success
            $("#contact-form")[0].reset();
            $('.error').fadeOut(500);
        } else {
            $('.error').fadeIn(1000);
            $("#contact-form")[0].reset();
            $('.success').fadeOut(500);
        }
        //clear all fields
        $('#contact-form').trigger("reset");

    }).error(function (e, textStatus, xhr) {
        console.log("ERROR: ", e);
        console.log("Status: ", textStatus);
        console.log("JQXHR: ", xhr);

    }).done(function (data, textStatus, xhr) {

        //Reset formData
        formData = {
            "f": null,
            "e": null,
            "p": null,
            "m": null,
            "b": null,
            "d": null,
            "i": null

        };
        console.log('AJAX COMPLETE', data, textStatus, xhr);
    });

一切都很好,但是它直接进入.ERROR()而不是.SUCCESS,而是形式为“ IS”的成功,状态为200,文本为OK。

我要弄清楚的是,这可能真的很简单,这就是为什么它没有进入SUCCESS函数并进入ERROR FUNCTION的原因,而当我收到发送完美的电子邮件时却显示为“ SUCCESSFUL”。

>

谢谢。

代码中的这个要点,当我踏进...

已绕过.success,数据未定义,现在位于.error行

    }).success(function (data) {
        //data = data.substring(5, 5000);
        //myObj = $.parseJSON(data);

        console.log("Data coming back from the server: ", data);

        if (data === 0) {
            $('.success').fadeIn(1000);
            //Reset form after success
            $("#contact-form")[0].reset();
            $('.error').fadeOut(500);
        } else {
            $('.error').fadeIn(1000);
            $("#contact-form")[0].reset();
            $('.success').fadeOut(500);
        }
        //clear all fields
        $('#contact-form').trigger("reset");

    }).error(function (e, textStatus, xhr) { <- CODE IS HERE and then goes in
        console.log("ERROR: ", e);
        console.log("Status: ", textStatus);
        console.log("JQXHR: ", xhr);

        **//textStatus = OK
        //response = 200**

    }).done(function (data, textStatus, xhr) {

1 个答案:

答案 0 :(得分:-1)

我有评论,所以我可以看到PHP和POOF中出现了什么!当我将它们注释掉时,PARSEERROR告诉了我所需的信息,一切正常!但是是的,夏利菲(Charlieffi)和乔莫迪克(Jmoerdyk)你都是正确的。我也删除了JSONPCALLBACK。将您的声明移至合并的解决方案中,我将其投票为对,并对其+1。