jqueryajax没有返回成功
我将这段代码转到form.php,而不是在我的主页上将回显的php拖到一个#success div中:jqueryajax没有返回成功,jquery,ajax,Jquery,Ajax,我将这段代码转到form.php,而不是在我的主页上将回显的php拖到一个#success div中: <script type="text/javascript"> data = $(form).serialize(); $('#form').submit(function() { $.ajax({ url: '../wp-content/themes/MC/form.php', type: 'POST',
<script type="text/javascript">
data = $(form).serialize();
$('#form').submit(function() {
$.ajax({
url: '../wp-content/themes/MC/form.php',
type: 'POST',
data: data,
success: function(result) {
$('#success').html('').html(result);
}
});
});
</script>
<div id="form">
<br>
<form action="http://www.mcfilmmakers.com/wp-content/themes/MC/form.php" method="post">
Name / Nom:<input type="text" name="fullname" /><br />
E-mail / Courriel:<input type="text" name="email" /><br /> Your Daily URL / Votre URL Quotidien:<input type="text" name="link" /><br />
Voting Instructions / Instructions de Vote:<textarea name="instr" style="width: 450px; height: 100px;"/></textarea><br />
<input type="submit" value="Submit" />
</form>
</div>
<div id="success">
</div>
数据=$(形式).serialize();
$('#form')。提交(函数(){
$.ajax({
url:“../wp content/themes/MC/form.php”,
键入:“POST”,
数据:数据,
成功:功能(结果){
$('#success').html('').html(结果);
}
});
});
名称/名称:
电子邮件/Courriel:
您的每日URL/Votre URL配额:
投票指示/取消投票指示:
php确实接收到post信息,因为它正在回显输入。但出于某种原因,它并没有被插入到“成功”中。试试这个:
$('#form').submit(function(event) {
$.ajax({
url: '../wp-content/themes/MC/form.php',
type: 'POST',
data: data,
success: function(result) {
$('#success').html(result);
}
});
event.preventDefault();
});
提交表单时,默认情况下,它会将表单发布到表单的操作
属性中。您希望防止该帖子发生,而是使用ajax。因此,我们将防止这种情况
也不需要链接.html(“”)
,因为它设置了整个内容。请参见您的代码:
$('#form').submit(function()
#form points to `div id="form"`
将onsubmit事件注册到div。
尝试如下添加id=form
:
<form action="http://www.mcfilmmakers.com/wp-content/themes/MC/form.php" method="post" id="form">
并从div中删除
id=“form”
。您是否错过了文档准备就绪?页面是否正在重新加载?你不需要在#form
submit上提交event.preventDefault()
吗?@宙斯之书我没有忘记文档准备好了。就在那里,我只是没有贴在这里。给一个人一条鱼,他吃一天…——解释提供的解决方案的答案通常比解决方案本身更有价值(不管它有多准确)。@BradChristie I添加了一个小解释。@rfausak:谢谢。我还想谈谈您对.html()
所做的更改,以及OP版本不起作用的原因我希望我先前的回答是正确的;我只是暗示给用户一个推理,它可以帮助他们和未来的访问者解决同样的问题。它还避免了以后“这是我的代码,修复它”之类的问题。@Brad Christie我同意。解释总是更好。然而,用jQuery用简单的英语很难得到解释。在我努力回答和解释之后,我没有得到公认的答案。叹气..除非他们打算设计div的样式。更好的解决方案可能只是将选择器更改为#form form
。但是+1用于捕捉选择器错误。