我的ajax表单提交正常,但我仍然在控制台中出错

时间:2014-03-17 22:29:34

标签: javascript jquery ruby-on-rails ajax

我正在为mailchimp发送一个包含电子邮件字段的表单,其中包含ajax。

表单发送正常,因为我收到来自mailchimp的确认电子邮件但在我的控制台中我得到了这个:

Resource interpreted as Script but transferred with MIME type text/html: "http://markdunbavan.us4.list-manage.com/subscribe/post?u=946312c950b11b5518…markdunbavan.co.uk&b_946312c950b11b551890e28f7_f3f7eb34b3=&_=1395094714933". jquery.js?body=1

表单是从rails应用程序发送的,但这无关紧要,这是我的javascript:

var $form = $('#mc-embedded-subscribe-form');

            function register($form) {
              $.ajax({
                type: $form.attr('method'),
                url: $form.attr('action'),
                data: $form.serialize(),
                cache       : false,
                crossDomain: true,
                dataType    : 'jsonp',
                contentType: "application/html;",
                error       : function(err) { $('#notification_container').html('<span class="alert">Could not connect to server. Please try again later.</span>'); },
                success     : function(data) {

                  if ( data.result != "success" ) {
                    var message = data.msg.substring(4);
                    $('#notification_container').html('<span class="alert">'+message+'</span>');
                  } 

                  else {
                    var message = data.msg;
                    $('#notification_container').html('<span class="success">'+message+'</span>');
                  }
                }
              });
            }

            $('#mc-embedded-subscribe').on('click', function(event) {
                event.preventDefault();
                register($form);
            });

有人能指出我正确的方向吗?

1 个答案:

答案 0 :(得分:0)

从错误中,我怀疑这是你的问题:

dataType    : 'jsonp',
contentType: "application/html;",

试试这个:

dataType    : 'jsonp',
contentType: "application/javascript",

您发送的内容不能是HTML和JSON。它必须是一个或另一个。所以Rails警告你,它很困惑,但是在警告中可以看到JavaScript而不是HTML:Resource interpreted as Script but transferred with MIME type text/html