javascript - 提交 ajax 表单后未出现成功消息

标签 javascript jquery html ajax

我准备了一个由 Jquery 和 PHP 支持的 HTML 表单。该表单在 PHP 中给出了正确的输出,但是当提交表单时,它没有显示成功消息并且没有将字段清空。代码如下:

   function sendContact() {
        event.preventDefault();

        var valid;
        valid = validateContact();
        if (valid) {
            jQuery.ajax({
                // input submisssion though Ajax
                url: "xxxx.php",
                data: 'userName=' + $("#userName").val() + '&userEmail=' + $("#userEmail").val() + '&subject=' + $("#subject").val() + '&content=' + $(content).val(),
                type: "POST",
                success: function (data) {
                    // Thankyou message on sucessful submission.
                    $("#mail-status").html(data);
                    $('#mail-status').show();

                    // Clear the form.
                    $('#userName').val('');
                    $('#userEmail').val('');
                    $('#content').val('');
                },
                error: function () {
                }
            });
        }
    }

    //error checking
    function validateContact() {
        var valid = true;
        $(".InputBox").css('background-color', '');
        $(".info").html('');

        if (!$("#userName").val()) {
            $("#userName-info").html("(required)");
            $("#userName").css('background-color', '#FFFFDF');
            valid = false;
        }
        if (!$("#userEmail").val()) {
            $("#userEmail-info").html("(required)");
            $("#userEmail").css('background-color', '#FFFFDF');
            valid = false;
        }
        if (!$("#userEmail").val().match(/^([\w-\.]+@([\w-]+\.)+[\w-]{2,4})?$/)) {
            $("#userEmail-info").html("(invalid)");
            $("#userEmail").css('background-color', '#FFFFDF');
            valid = false;
        }
        if (!$("#content").val()) {
            $("#content-info").html("(required)");
            $("#content").css('background-color', '#FFFFDF');
            valid = false;
        }

        return valid;
    }

使用的 AJAX 库是:https://code.jquery.com/jquery-2.1.1.min.js “类型=”文本/javascript HTML 代码是:

<div id="frmContact">
<div id="mail-status" style="display: none;">Thanking you.</div>

        <label style="padding-top:20px;">Name</label><span id="userName-info" class="info"></span><br/>
        <input type="text" name="userName" id="userName" class="InputBox"><br>

        <label>Email</label><span id="userEmail-info" class="info"></span><br/>
        <input type="text" name="userEmail" id="userEmail" class="InputBox"><br/>

        <label>Content</label><span id="content-info" class="info"></span><br/>
        <textarea name="content" id="content" class="InputBox" cols="25" rows="6"></textarea><br/>

        <button name="submit" class="btnAction" onClick="sendContact();">Send</button>
</div>    

我没有检查任何网站并在谷歌上搜索了正确的代码但找不到?。你能找出正确的那个吗?

最佳答案

你的错误

XMLHttpRequest cannot load xxxx.php. No 'Access-Control-Allow-Origin' header is present on the requested resource.

表示在您的配置文件中您没有任何信息说明如何处理 CORS(跨源)请求,因此您必须在您的平台上启用 CORS...请参阅此处:http://enable-cors.org/server.html并选择您的平台(Tomcat...Apache...)

另请在此处检查浏览器是否支持 CORS:http://enable-cors.org/client.html

关于javascript - 提交 ajax 表单后未出现成功消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38221639/

相关文章:

javascript <音频> : cant update currentTime

jquery - 将焦点更改为大型菜单

php - 在 MySql 中保存和检索照片

javascript - 头部异步 JS 加载

正则表达式中的 JavaScript 插入符未按预期工作

javascript - 根据屏幕宽度删除所有类别的图像

javascript - 将自己的 .innerHTML 文本内容复制到剪贴板的 HTML 按钮

javascript - jQuery Ajax 内存泄漏

jquery - 在哪里可以找到 jQuery 颜色插件的缩小版?

javascript - 下拉在 ie8 和 ie9 中不起作用