【发布时间】:2017-08-27 10:26:01
【问题描述】:
我有一个 PHP 表单,提交后会重新加载。我使用 Ajax 停止重新加载它,现在它没有提交数据库中的数据。我在这里错过了什么吗?就像我说的,如果我删除 AJAX,它可以正常工作,但页面会重新加载。我知道我犯了一个非常小的错误。
表格
<form class="form-horizontal" method="post" role="form">
<div class="form-group">
<div class="col-sm-6">
<label for="name" class="control-lable" style="font-size:15px;">Name* :</label>
<input type="text" class="form-control" name="query_name" id="name" required>
</div>
<div class="col-sm-6">
<label for="email" class="control-lable" style="font-size:15px;">Email* :</label>
<input id="email" type="email" class="form-control" name="query_email" required>
</div>
</div>
<div class="form-group">
<div class="col-sm-12">
<label for="comments" class="control-lable" style="font-size:15px;">Message*:</label>
<textarea id="comments" class="form-control" name="query_message" rows="5" required></textarea>
</div>
</div>
<div class="form-group">
<div class="col-sm-12">
<input type="submit" class="btn btn-block btn-danger" name="contactus" value="Submit">
</div>
</div>
</form>
AJAX
jQuery(function($) {
$('form').on('submit', function (e) {
e.preventDefault();
var str = $(this).serialize();
$.ajax({
type: "POST",
cache: false,
data:str,
url:window.location.origin+'/post-page/',
success:function() {
console.log('email sent');
$("#result").html('<div class="alert alert-success"><button type="button" class="close">×</button>Thank you for posting query, You will be replied in next 24 hours</div>');
$("form").trigger("reset");
}
});
});
});
PHP
if(isset($_POST['contactus'])){
$query_date = date('Y-m-d G:i:s');
$query_name = strip_tags($_POST['query_name']);
$query_email = strip_tags($_POST['query_email']);
$query_message= strip_tags($_POST['query_message'], '<p><br>');
$ins_query = $conn->prepare("INSERT INTO query (query_date, query_name, query_email, query_message) VALUES (?,?,?,?)");
$ins_query->bind_param("ssss", $query_date, $query_name, $query_email, $query_message);
$ins_query->execute();
$ins_query->close();
}
【问题讨论】:
-
在你的 ajax 中你不发送任何数据。
-
我的错误。请现在检查。不幸的是,我不太擅长 AJAX,并且使用过其他类似问题的代码
-
您的网址正确吗?我的意思是 Ajax 发布的 URL
-
为什么不应该。如果我删除 AJAX,它工作正常。我有这段代码,它只是停止页面重新加载而不提交任何数据。
-
是的,这是一个 wordpress 页面。如果我使用页面名称,那么它将在 url 的最后添加它并使其成为 404。
标签: javascript php jquery ajax forms