Javascript PHP AJAX传递成功消息
我试图将Javascript PHP AJAX传递成功消息,javascript,php,jquery,ajax,Javascript,Php,Jquery,Ajax,我试图将消息从php传递到ajax,但这不起作用,此外,如果字段为空,我希望显示类似“输入用户名”的内容 以下是我得到的: user.php <!-- conexion_user.php --> <?php $servername = "localhost"; $username = "root"; $password = ""; $dbname = "usuarios"; $nombre = $_REQUEST['nombre']; $email = $_REQUEST[
消息
从php
传递到ajax
,但这不起作用,此外,如果字段为空,我希望显示类似“输入用户名”的内容
以下是我得到的:
user.php
<!-- conexion_user.php -->
<?php
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "usuarios";
$nombre = $_REQUEST['nombre'];
$email = $_REQUEST['email'];
$mensaje = $_REQUEST['mensaje'];
// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
$sql = "INSERT INTO `usuarios`.`usuarios` (`nombre`, `email`, `mensaje`) VALUES ('$nombre', '$email', '$mensaje')";
if (($_POST['nombre']!="")
&&($_POST['email']!="")
&&($_POST['mensaje']!="")) {
$conn->query($sql) === TRUE;
echo "Se ha guardado en la BD.";
$data = Array(
'success' => true,
'message' => 'Well done!',
'data' => Array(
'nombre' => $_POST['nombre'].'1',
'email' => $_POST['email'].'1',
'mensaje' => $_POST['mensaje'].'1',
)
);
echo json_encode($data);
}
else{
$res = Array(
'success' => false,
'message' => 'Error',
);
echo json_encode($res);
}
$conn->close();
?>
1) 您需要将响应头设置为json。详情请参阅
2) 您正在编码数组而不是对象
$.ajax({
url: '../php/conexion_user.php',
type: 'POST',
data: datos,
dataType: 'json',
success:function(data){
console.log(data['success']); // check this
console.log(data['message ']); // check this
$('#dos').html('<p>' + data.message + '</p>');
$('#exito').html('Inserción a usuario.').addClass('alert-success');
$('#exito').fadeOut(3500);
},
error: function(jqXHR,estado,error){
console.log(jqXHR);
console.log(estado);
console.log(error);
}
});
$.ajax({
url:“../php/conexion_user.php”,
键入:“POST”,
数据:达托斯,
数据类型:“json”,
成功:功能(数据){
console.log(数据['success']);//检查此项
console.log(数据['message']);//检查此项
$('#dos').html(''+data.message+'');
$('exito').html('Inserción a usuario')).addClass('alert-success');
$('exito')。渐弱(3500);
},
错误:函数(jqXHR、estado、error){
console.log(jqXHR);
控制台日志(estado);
console.log(错误);
}
});
如果要返回对象而不是数组,请参考尝试使用JSON.parse()
var parsedData=JSON.parse(数据)代码>使用控制台.log(数据.消息)代码>并告诉我们您得到了什么?看起来您正试图打印一个数组或某种复合objectputexit
在json_encode
之后,放入标题('Content-Type:application/json')file@PraveenKumar我什么也没看见,什么也没发生。。。它可以插入,但我通过控制台看不到任何东西。@Noman只是尝试了一下,没有运气。
<div align="center" >
<form id="formulario" method="post" class="form-horizontal">
<div class="form-group">
<legend>Usuario</legend>
</div>
<center>
<input type="text" name="nombre" id="nombre" class="form-control" value="" placeholder="Nombre">
<br>
<input type="text" placeholder="Email" id="email" name="email" class="form-control">
<br>
<input type="text" name="mensaje" id="mensaje" class="form-control" value="" placeholder="Ingrese Mensaje">
<button type="submit" id="insert" name="insert" class="btn btn-primary">Submit</button>
</form>
<p id="dos"></p>
</div>
$.ajax({
url: '../php/conexion_user.php',
type: 'POST',
data: datos,
dataType: 'json',
success:function(data){
console.log(data['success']); // check this
console.log(data['message ']); // check this
$('#dos').html('<p>' + data.message + '</p>');
$('#exito').html('Inserción a usuario.').addClass('alert-success');
$('#exito').fadeOut(3500);
},
error: function(jqXHR,estado,error){
console.log(jqXHR);
console.log(estado);
console.log(error);
}
});