簡體   English   中英

通過AJAX POST成功發送了電子郵件,但觸發了錯誤回調而不是成功回調

[英]E-mail sucessfully sent via AJAX POST but error callback triggered instead of success callback

我正在使用AJAX發送電子郵件,並且可以正常工作,電子郵件已發送給我的收件人。 但是,我不明白的是,盡管發送了電子郵件,但為什么AJAX的success回調未觸發。 相反,將觸發error回調。

顯然這不是CORS問題,因為我在AJAX的url參數中使用了同一服務器。 此外,Google Dev Tools未報告任何問題,並顯示200 OK

JS代碼:

$(document).ready(function(){
    $(".js-validate-2").validate({
        ignore: ":hidden",
        rules: {
            //something
        },
        messages: {
            //something
        },
        submitHandler: function(form) {
            var recipient = "myEmailTest@gmail.com"
            var specifiedProduct = "PRODUCT: " + $('#specifiedProduct').val();
            var msg = $('#msg').val();
            var phone = "TEL: " + $('#phone').val() + ". ";

            var params = {
                "email": recipient,
                "subject": specifiedProduct,
                "body": msg + phone,
            };

            var sendingToSupport = $.ajax({
                url: 'http://myServer/u/support/message',
                data: JSON.stringify(params),
                type: 'POST',
                dataType: 'json',
                contentType: 'application/json',
                success: function(data) {
                    console.log("Huge success");
                    console.log(params);
                    console.log(data);
                    alert("Successfully sent!");
                },
                error: function(data) {
                    console.log("Huge failure");
                    console.log(params);
                    console.log(data);
                    alert("We apologize for an error!");
                    $(".support-form").find("input[type=text], textarea").val("");
                }
            });
        }
    })
})

因此,此問題是由以下代碼引起的:

dataType: 'json',

表示AJAX調用返回的數據將為JSON格式。 因此,jQuery將嘗試解析那些數據。

就我而言,刪除此代碼很有幫助,並且成功發送了AJAX調用,並返回了正確的答案。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM