Привет, у меня возникли проблемы с ответом на запрос ajax, я делал это много раз, но я не знаю, в чем проблема, сейчас, я тянул свои волосы в течение дня в этом я пробовал использовать полную, ошибку или .done, ничего не работает. То, что я делаю, это вставить данные через ajax, а затем получить ответ, если данные вставлены, теперь данные вставляются в норму, но я не получаю ответа, можете ли вы мне помочь, а консольных ошибок нет.
insert_ajax.php
<?php
?>
<html>
<head>
<title>Basic Ajax Insert</title>
<link rel="stylesheet" href="style/style.css" type="text/css"/>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" type="text/css"/>
<script src="jquery-1.3.1.min.js"></script>
<script src="custom.js"></script>
</head>
<body>
<div class="container">
<div id="succ"></div>
<h2 class="text-warning">Basic Information</h2>
<form id="form" action="<?php echo $_SERVER["PHP_SELF"]; ?>" method="post" autocomplete="off">
<div class="form-group col-md-6">
<label class="text-warning">First Name: </label>
<input class="form-control first_name" type="text" name="fname" />
</div>
<div class="form-group col-md-6">
<label class="text-warning">Last Name: </label>
<input class="form-control last_name" type="text" name="lname" />
</div>
<div class="form-group col-md-6">
<label class="text-warning">Email: </label>
<input class="form-control email" type="text" name="email" />
</div>
<div class="form-group col-md-6">
<label class="text-warning">Password: </label>
<input class="form-control pwd" type="password" name="pass" />
</div>
<button class="btn btn-warning" name="btn_sub">Send</button>
</form>
</div>
</body>
</html>
ajax.php
<?php
$con=mysqli_connect("localhost","root","","practices");
if(isset($_REQUEST['em'])){
echo'email received..: '.$_REQUEST['em'];
}
$fname=$_REQUEST["fn"];
$lname=$_REQUEST["ln"];
$email=$_REQUEST["em"];
$pass=$_REQUEST["pwd"];
//echo "returned";
$ins="insert into `user` (`first_name`,`last_name`,`email`,`password`)
values('$fname','$lname','$email','$pass')";
$query=mysqli_query($con,$ins);
if($query){
echo "Data is entered Love";
}
?>
custom.js
$(document).ready(function(){
$(".btn").click(function(){
var fname=$(".first_name").val();
var lname=$(".last_name").val();
var email=$(".email").val();
var pass=$(".pwd").val();
$.ajax({
method: "POST",
url : "ajax.php",
data: {fn:fname,ln:lname,em:email,pwd:pass},
success: function(r){
alert(r);
}
});
});
});
если вы используете консоль разработчика в Firefox/хром и смотрите на вкладке сети, вы видите «Данные вводятся Любовь», как тело ответа от ajax.php? попробуйте добавить второй параметр к вашей функции успеха и оповещению о том, что, например, «успех: функция (r, s)) { alert (r); оповещение (ы); } ' –
Вы не мешаете своей форме публиковать сообщения традиционно, то есть' e.PreventDefault(); '. Таким образом, ваш js-код выполняет '$ .ajax()' на ваш 'ajax.php', но ваша страница затем обновляется путем размещения вашей формы, поэтому она не будет« alert() »ответ. – Sean
@RobGudgeon .. нет, я проверил вкладку в сети, нет ответа –