ajax post call返回200但处理错误

时间:2016-11-23 14:36:26

标签: c# jquery ajax

任何人都可以帮我解决这个话题吗?

我正在进行ajax post调用,我收到状态200 OK但是错误处理程序被触发。我不知道我是否向服务器或其他类似的地方发送了错误的数据。

以下是代码:

$('#btn_sendMail').on('click', function (ev) {
    ev.preventDefault();
    var sub = $('#subject').val();
    var body = $('#message').val();
    var displayNameMailAddress = $('#name').val() + " - " + $('#email').val();

    var formData = new FormData();
    formData.append('subject', sub);
    formData.append('body', body);
    formData.append('displayNameMailAddress', displayNameMailAddress);

    $.ajax({
        type: 'POST',
        url: pathRoot() + '/SendMail',
        cache: false,
        dataType: 'json',
        data: formData,
        success: function (result) {
            if (result.shouldSeeError) {
                alertify.error(result.message);
            }
            else {
                alertify.success(result.message);
                //$('#emailForm').reset();
            }
        },
        error: function (result) {
            alertify.error("Error.");
        }
    });
});

服务器端代码(C#):

 [HttpPost]
 public ActionResult SendMail(string subject, string body, string displayNameMailAddress)
    {
        string message = string.Empty;
        bool error = false;
        try
        {
            Manager.Email.SendEmail(subject, body, displayNameMailAddress);
        }
        catch (Exception)
        {
            error = true;
        }

        message = error != true ? "success" : "error.";
        Utils.JsonHelper jsonH = new Utils.JsonHelper()
        {
            shouldSeeError = error,
            message = message
        };

        if (error == true)
            return Json(jsonH, JsonRequestBehavior.DenyGet);
        else
            return Json(jsonH, JsonRequestBehavior.AllowGet);
    }

有人能帮助我吗?

感谢。

0 个答案:

没有答案