jqueryajax函数不工作。Php代码工作正常,没有错误
我试图使用AJAX,使用PHP代码将表单数据提交到.TXT文件。jqueryajax函数不工作。Php代码工作正常,没有错误,php,jquery,ajax,Php,Jquery,Ajax,我试图使用AJAX,使用PHP代码将表单数据提交到.TXT文件。 结果被添加到文本文件中,但AJAX功能不起作用请告诉我代码中的错误 以下是表格的代码: <div id="page-wrapper"> <h1>AJAX Sign Up Form </h1> <div id="form-messages"></div> <form id="signup" method="post" action="mailer.php"&g
结果被添加到文本文件中,但AJAX功能不起作用
请告诉我代码中的错误 以下是表格的代码:
<div id="page-wrapper">
<h1>AJAX Sign Up Form </h1>
<div id="form-messages"></div>
<form id="signup" method="post" action="mailer.php">
<div class="field">
<input type="email" id="email" name="email" placeholder="Enter Your Email" required>
</div>
<div class="field">
<button type="submit">Send</button>
</div>
</form>
AJAX注册表格
发送
以下是jquery(2.1.1)代码
$(文档).ready(函数(){
$(“签名”)。单击(功能(事件){
var mail=$(“#mail”).val();
$.ajax({
键入:“POST”,//HTTP方法POST或GET
url:“mailer.php”//在哪里进行Ajax调用
数据:邮件
})
.done(函数(数据){$('#表单消息').html(数据)})
.fail(function(){$('#form messages').append(“Opps!发生错误。请重试”)});
});
});
这是mailer.php
<?php
$email = $_POST["email"];
$fp = fopen("signup.txt", "a");
$savestring = "$email\n";
fwrite($fp, $savestring);
fclose($fp);
echo "<h1>Thank You For Subscribing</h1>";
?>
而不是
数据:邮件
使用
数据:{email:mail}
因为,在PHP中,您正在查找$\u POST[“email”]
,这意味着,$\u POST
数组有一个名为email
的键,该键具有一些值
$.ajax({
type: "POST",
url: "some.php",
data: { name: "John", location: "Boston" }
})
.done(function( msg ) {
alert( "Data Saved: " + msg );
});
在我的代码中发送上面的数据(作为对象)
谢谢您可以选择以下选项: 仅当mail是一个包含表单所有输入的对象,如
var mail=newformdata($(this)[0])代码>//在课程提交表单上
$.ajax({
type: "POST", // HTTP method POST or GET
url: "mailer.php", //Where to make Ajax calls
data: mail
})
.done (function(data) { $('#form-messages').html(data) })
.fail (function() { $('#form-messages').append("Opps!An Error Occured.Try Again</p>")});
$.ajax({
键入:“POST”,//HTTP方法POST或GET
url:“mailer.php”//在哪里进行Ajax调用
数据:邮件
})
.done(函数(数据){$('#表单消息').html(数据)})
.fail(function(){$('#form messages').append(“Opps!发生错误。请重试”)});
如果您想通过ajax将单个变量发送到php,那么将数据赋予其键,这样您就可以通过该键在php中访问它,如下所示
$.ajax({
type: "POST", // HTTP method POST or GET
url: "mailer.php", //Where to make Ajax calls
data: "mail=" + mail,
})
.done (function(data) { $('#form-messages').html(data) })
.fail (function() { $('#form-messages').append("Opps!An Error Occured.Try Again</p>")});
$.ajax({
键入:“POST”,//HTTP方法POST或GET
url:“mailer.php”//在哪里进行Ajax调用
数据:“邮件=”+邮件,
})
.done(函数(数据){$('#表单消息').html(数据)})
.fail(function(){$('#form messages').append(“Opps!发生错误。请重试”)});
表单代码中缺少按钮id…我这样做仍然不起作用。将页面定向到mailer.phpad event.preventDefault()后,将在上显示成功消息;在发送ajax之前,将其添加到js代码中request@smith09您能为我们制作一个JSFIDLE演示吗?现在问题已经解决了,我忘了将id添加到按钮,以将clickwhere is输入字段绑定到id=“sign\u btn”
?它将如何绑定点击事件?你说不工作是什么意思?@GBD omg!你说得对。那是我犯的一个愚蠢的错误。问题现在已解决。谢谢问题已解决,添加了id=“sign\u btn”到按钮以绑定单击
$.ajax({
type: "POST", // HTTP method POST or GET
url: "mailer.php", //Where to make Ajax calls
data: "mail=" + mail,
})
.done (function(data) { $('#form-messages').html(data) })
.fail (function() { $('#form-messages').append("Opps!An Error Occured.Try Again</p>")});