jQuery AJAX get/post 在我的一个页面上工作不规律



我的网站上有几个AJAX调用,运行良好。但是,我正在尝试使用 AJAX 在侧边栏上创建一个简单的电子邮件订阅,以使用此脚本(存储在外部文件中)提交电子邮件:

jQuery(document).on( 'click', '#news_button', function() {
    var news_email = jQuery("#news_email").val();
    var pattern = new RegExp(/^(("[w-s]+")|([w-]+(?:.[w-]+)*)|("[w-s]+")([w-]+(?:.[w-]+)*))(@((?:[w-]+.)*w[w-]{0,66}).([a-z]{2,6}(?:.[a-z]{2})?)$)|(@[?((25[0-5].|2[0-4][0-9].|1[0-9]{2}.|[0-9]{1,2}.))((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2}).){2}(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})]?$)/i);
    if (pattern.test(news_email)) {
        jQuery.post( "subscribe.php", {email: news_email}, function( data ) {
            alert('sent');
        });
    }
});

HTML代码非常简单,有两个输入(一个电子邮件,一个按钮)。

当我跟踪执行时,我可以看到 jQuery 脚本正确获取电子邮件并调用了订阅.php文件。但是,出了什么问题:- 使用 POST 方法,参数电子邮件永远不会传输- 使用 GET 方法,请求以 302 状态重复(和接收)近 20/30 次,而不是与服务器进行一次交互。

我真的不知道它来自哪里。你能帮忙吗?

您确定在本地主机或实际的Web服务器上运行您的网站吗?因为如果您的 HTML 文件在浏览器中使用 file://协议打开,那么 POST 将无法正常工作。HttpRequestObject 仅适用于客户端-服务器体系结构。

确保浏览器中 http://协议。

最新更新