我正在尝试向“ inserir.php”发出请求,在那里我将处理来自ajax请求的数据并将其插入数据库。但是当我单击按钮时,什么也没有发生。甚至没有错误。 这是我的表格..:
<div class="modal-body">
<!-- FORM-->
<form method="POST" id="formulariopost">
<div class="form-group">
<label for="exampleInputEmail1" style="font-family: Arial, Helvetica, sans-serif;">Email</label>
<input type="email" class="form-control" id="email" aria-describedby="emailHelp" placeholder="Email" style="font-family: Arial, Helvetica, sans-serif;" required>
<small id="emailHelp" class="form-text text-muted" style="font-family: Arial, Helvetica, sans-serif;">Nunca vamos partilhar o seu email com mais ninguem.</small>
</div>
<div class="form-group">
<label for="exampleInputPassword1" style="font-family: Arial, Helvetica, sans-serif;">Nome da Equipa</label>
<input type="text" class="form-control" id="nome_equipa" placeholder="Nome da Equipa" style="font-family: Arial, Helvetica, sans-serif;" required>
</div>
<div class="form-group">
<label for="exampleInputPassword1" style="font-family: Arial, Helvetica, sans-serif;">Nickname dos jogadores</label>
<input type="text" class="form-control" id="nickname" placeholder="(GAMETAG)" style="font-family: Arial, Helvetica, sans-serif;" required>
</div>
<div class="form-group">
<label for="exampleInputPassword1" style="font-family: Arial, Helvetica, sans-serif;">Numero do whatsapp</label>
<input type="text" class="form-control" id="numero" placeholder="Numero do whatsapp" style="font-family: Arial, Helvetica, sans-serif;" maxlength="15" data-mask="(00) 00000-0000" required>
</div>
<button id="enviar" class="btn btn-secondary" >Close</button>
<!--<button type="submit" class="btn btn-primary" style="font-family: Arial, Helvetica, sans-serif;margin-bottom: 30px;float: right;">Submit</button>-->
</form>
<br>
<!--PAYPAL-->
<div id="paypal-button-container"></div>
</div>
<div class="modal-footer">
<button type="submit" class="btn btn-secondary" data-dismiss="modal">Close</button>
<button type="button" class="btn btn-primary" id="saveg">Save changes</button>
</div>
</div>
这是我的javascript:
$(document).ready(function() {
$('#saveg').click(function(e){
e.preventDefault();
var email = $("#email").val();
var nome_equipa = $("#nome_equipa").val();
var gametag = $("#nickname").val();
var numerowhats = $("#numero").val();
$.ajax({
type: "POST",
url: "inserir.php",
dataType: "json",
data: {email:email, nome_equipa:nome_equipa, nickname:nickname, numero:numero},
success : function(data){
if (data.code == "200"){
alert("Success: " +data.msg);
} else {
console.log('mona');
}
}
});
});
});
这是我的php,我想发出ajax请求:
$servername = "localhost";
$username = "root";
$password = "root";
$dbname = "copacobre";
$email = $_POST["email"];
$nome_equipa = $_POST["nome_equipa"];
$gametag = $_POST["nickname"];
$numerowhats = $_POST["numero"];
$newURL="/copac/#";
echo $email;
$errorMSG = "error test";
// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
if ($conn->query($sql) === TRUE) {
echo "New record created successfully";
} else {
echo "Error: " . $sql . "<br>" . $conn->error;
}
$sql = "INSERT INTO pagamentos (email, nome_equipa, gametag, numerowhats)
VALUES ('".$email."', '".$nome_equipa."', '".$gametag."', ".$numerowhats.")";
$conn->close();
echo json_encode(array('code' => 200));
答案 0 :(得分:0)
看事件绑定是错误的。 您需要绑定到Submit事件。
在您的HTML代码中,“提交”按钮也用于关闭,并为“保存更改”分配了一个常规按钮,通常,“提交”用于执行提交数据并继续的操作。
如果应该是
$('#formulariopost').submit(function(e){
....
})
请记住,在函数末尾,如果成功则应返回true,否则应返回false来取消事件。
答案 1 :(得分:0)
没有绑定事件的原因有很多。您可以尝试通过几个步骤对其进行调试。
是的,浏览器喜欢缓存。确保页面中已加载实际版本的JS文件。
如果您使用的是Chrome,则CTRL + F5可以完成工作。
在开发人员工具控制台中添加断点,或者-简单的方法-将一些console.logs添加到代码中的几个点-例如在document.ready之后,在单击按钮之后,在ajax请求之前并成功进入ajax。别忘了AJAX也可以返回错误代码,并且'success'方法不能处理错误响应。
根据代码获取的距离(例如使用console.logs),您可以确定问题出在哪里。如果看不到document.ready后面的日志,则包含文件可能存在一些问题。
检查是否已发送AJAX请求以及响应是什么。您可以在“网络”选项卡的“开发人员工具”中执行此操作。您可以看到请求和响应正文,从而可以帮助您确定问题出在哪里。