javascript - 联系表单的 AJAX POST 返回 500 错误

标签 javascript jquery ajax forms

我正在使用 Node.js 并使用 Nodemailer。我有一个使用 AJAX 的联系表单,提交后会生成 500 错误。以下是我收到的回复以及下面表格的代码。我还在表单上使用 csrf_token。我尝试删除它,但没有帮助。我尝试过使用 GET,但仍然遇到同样的错误。我真的很困惑。

Error response: The error is happening on send @jquery-1.10.2.js:6.

send @jquery-1.10.2.js:6
x.extend.ajax @jquery-1.10.2.js:6
$.find.jqBootstrapValidation.submitSuccess  @shibui.js:82
(anonymous function) @jqBootstrapValidation.js:76
x.event.dispatch @jquery-1.10.2.js:5
v.handle @jquery-1.10.2.js:5 

处理表单的代码是:

$('#contactForm').find('input,textarea').jqBootstrapValidation({
    preventSubmit: true,
    submitError: function(form, event, errors) {
        // additional error messages or events
    },
    submitSuccess: function(form, event) {
        toggleSubmit(form);
        event.preventDefault(); // prevent default submit behaviour

        // get values from FORM
        var name = $("input#name").val(); 
        var email = $("input#email").val();
        var phone = $("input#phone").val();
        var message = $("textarea#message").val();
        var firstName = name; // For Success/Failure Message
        // Check for white space in name for Success/Fail message
        if (firstName.indexOf(' ') >= 0) {
            firstName = name.split(' ').slice(0, -1).join(' ');
        }
        $.ajax({
            url: "/contactus",
            type: "POST",
            data: {
                name: name,
                phone: phone,
                email: email,
                message: message
            },
            cache: false,
            success: function() {
                showStatus(form, 'success', 'Your message has been sent.');
                //$('#contactForm').trigger("reset");
            },
            error: function() {
                showStatus(form, 'danger', 'Sorry ' + firstName + ', it seems that my mail server is not responding. Please try again later!');
                $('#contactForm').trigger("reset");
                toggleSubmit(form);
            },
            complete: function(data) {
            },
        });
    },
    filter: function() {
        return $(this).is(":visible");
    },
});

最佳答案

https://en.wikipedia.org/wiki/List_of_HTTP_status_codes 500 是一个内部服务器错误,如果您使用 Node,则可能是一些未捕获的异常。您必须查看服务器代码才能找到问题。

关于javascript - 联系表单的 AJAX POST 返回 500 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32339124/

相关文章:

javascript - Jquery 绑定(bind)事件

c# - 使用javascript触发按钮点击事件

javascript - 使用 JSON 数据类型向来自 Ajax 的新数据添加新类

javascript - 如何让ajax成功回调数据全局可用?

java - 如何根据 ajax 弹出窗口或对话框的输入执行 Controller

javascript - 使用 jQuery 文件上传实现所需的用户登录

javascript - jQuery:根据另一个复选框设置选择框的值

php - 在 jquery php 中打开一个 url

javascript - 单击访问传单标记元属性

javascript - 更新: Querying lists in SharePoint 2013