如何在AJAX中发布数据?
我正在整合一个简单的Mailchimp注册到我正在开发的网站 单击submit时,我希望表单只使用AJAX将电子邮件地址发送给Mailchimp,而不是重定向。我对AJAX几乎一无所知。我找到了一个解决方案,但仍然不起作用。单击submit按钮仍然会重定向,现在转到找不到的页面404 这是我的HTML:如何在AJAX中发布数据?,ajax,forms,http-status-code-404,mailchimp,Ajax,Forms,Http Status Code 404,Mailchimp,我正在整合一个简单的Mailchimp注册到我正在开发的网站 单击submit时,我希望表单只使用AJAX将电子邮件地址发送给Mailchimp,而不是重定向。我对AJAX几乎一无所知。我找到了一个解决方案,但仍然不起作用。单击submit按钮仍然会重定向,现在转到找不到的页面404 这是我的HTML: <!-- Begin Mailchimp Signup Form --> <div id="mc_embed_signup">
<!-- Begin Mailchimp Signup Form -->
<div id="mc_embed_signup">
<form action="https://outlook.us10.list-manage.com/subscribe/post-json?u=46fbb562c588c268ad0d3f670&id=007ec4fc87&c=?" method="get" id="mc-embedded-subscribe-form" name="mc-embedded-subscribe-form" class="validate" novalidate>
<div id="mc_embed_signup_scroll">
<div class="mc-field-group">
<input type="email" value="" name="EMAIL" class="required email" id="mce-EMAIL" placeholder="Enter your email adress">
</div>
<div id="mce-responses" class="clear">
<div class="response" id="mce-error-response" style="display:none"></div>
<div class="response" id="mce-success-response" style="display:none"></div>
</div> <!-- real people should not fill this in and expect good things - do not remove this or risk form bot signups-->
<div style="position: absolute; left: -5000px;" aria-hidden="true"><input type="text" name="b_46fbb562c588c268ad0d3f670_007ec4fc87" tabindex="-1" value=""></div>
<div class="clear"><button type="submit" value="Subscribe" name="subscribe" id="mc-embedded-subscribe" class="button"><img src="./assets/svg/arrow-white.svg" alt=""></button></div>
</div>
</form>
<!--End mc_embed_signup-->
我想一个黑客设法潜入了你的URL&→ &;,所以你的URL应该是https://outlook.us10.list-manage.com/subscribe/post-json?u=46fbb562c588c268ad0d3f670&id=007ec4fc87&c=?箱子关上了
问题来自一个小错误:var$form=$'mc-embedded-subscribe';->var$form=$'mc-embedded-subscribe-form'
我错过了,没有选择正确的ID。谢谢你的回答,但问题已经解决了。它只是源于语法错误:$'mc-embedded-subscribe'->$'mc-embedded-subscribe-form'它是HTML属性中的URLHTML中的字符应表示为&;!
$(document).ready(function() {
var $form = $('mc-embedded-subscribe');
if ($form.length > 0) {
$('button input[type="submit"]').bind('click', function(event) {
if (event) event.preventDefault();
register($form);
});
}
});
function register($form) {
$.ajax({
type: $form.attr('method'),
url: $form.attr('action'),
data: $form.serialize(),
cache: false,
dataType: 'json',
contentType: "application/json; charset=utf-8",
error: function(err) {
alert("Could not connect to the registration server. Please try again later.");
},
success: function(data) {
if (data.result != "success") {
// Something went wrong, do something to notify the user. maybe alert(data.msg);
} else {
// It worked, carry on...
}
}
});
}