我正在制作我的第一个网站,我想使用 ajax 和 php 实现一个联系表单,但它不起作用。 这个问题可能看起来很愚蠢,但请不要因为我是编程初学者而讨厌我。
你们知道哪里出了问题吗?
这是我的 HTML 代码:
<div class="col-lg-9 col-md-9 col-xs-12">
<div class="contact-block">
<form id="contactForm">
<div class="row">
<div class="col-md-6">
<div class="form-group">
<input type="text" class="form-control" id="name" name="name" placeholder="Ihr Name" required data-error="Bitte geben Sie Ihren Namen ein">
<div class="help-block with-errors"></div>
</div>
</div>
<div class="col-md-6">
<div class="form-group">
<input type="text" placeholder="Ihre E-Mail" id="email" class="form-control" name="name" required data-error="Bitte geben Sie Ihre E-Mail Adresse ein">
<div class="help-block with-errors"></div>
</div>
</div>
<div class="col-md-12">
<div class="form-group">
<input type="text" placeholder="Betreff" id="msg_subject" class="form-control" required data-error="Please enter your subjectBitte fügen Sie einen Betreff hinzu">
</div>
</div>
<div class="col-md-12">
<div class="form-group">
<textarea class="form-control" id="message" placeholder="Ihre Nachricht" rows="7" data-error="Schreiben Sie eine Nachricht" required></textarea>
<div class="help-block with-errors"></div>
</div>
<div class="submit-button">
<button class="btn btn-common btn-effect" id="submit" type="submit">Nachricht senden</button>
<div id="msgSubmit" class="h3 hidden"></div>
<div class="clearfix"></div>
</div>
</div>
</div>
</form>
</div>
</div>
这是我的js代码:
function submitForm(){
// Initiate Variables With Form Content
var name = $("#name").val();
var email = $("#email").val();
var msg_subject = $("#msg_subject").val();
var message = $("#message").val();
$.ajax({
type: "POST",
url: "php/form-process.php",
data: "name=" + name + "&email=" + email + "&msg_subject=" + msg_subject + "&message=" + message,
success : function(text){
if (text == "success"){
formSuccess();
} else {
formError();
submitMSG(false,text);
}
}
});}
这是我要发送邮件的 php 文件:
<?php
if($_POST){
$name = $_POST['name'];
$email = $_POST['email'];
$msg_subject = $_POST['msg_subject']
$message = $_POST['message'];
//send email
mail("email@gmail.com", "This is an email from:" .$email, $msg_subject, $message);}?>
如果您需要更多信息,请随时询问。
最佳答案
我在 nodeJs 中使用了 ajax,但我认为这不是有效的 url: "php/form-process.php",
尝试添加您正在使用的路由来处理请求,例如
/form-process.php
或 /php/form-process.php
或您使用的任何路径
如果你没有在你的 html 中添加 jquery 也会导致这种情况
关于javascript - 在 js 中使用 ajax 的联系表单不会 POST,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55666814/