我在 ajax 中构建此代码以将数据从表单发送到 php 文件以在同一页面中显示警报,我在网上查看了几个示例但无法解决。
我只想从警报中的 php 返回“echo 数据”,但我一直只收到一条消息,例如“Oportunidade cadastrada com sucesso!”。
看起来 php 没有正确执行 if/else,但是 idk。 有人可以帮忙吗?
//AJAX
$("#formulario_op").on('submit', function (e) {
$('#cadVaga').modal('hide');
e.preventDefault();
$.ajax({
type: "POST",
url: "cadastraop.php",
data: $('#formulario_op').serialize(),
success: function (data) {
alert(data);
location.reload();
}
});
return false;
});//END AJAX
//PHP
require("conexao.php");
$name = $_POST['name'];
$descricao = $_POST['descricao'];
$valor = $_POST['valor'];
$lat = $_POST['lat'];
$lng = $_POST['lng'];
$sql = "SELECT lat,lng FROM anuncios WHERE lat = '$lat' and lng = '$lng' ";
$testa_local = mysqli_query($link, $sql);
if($row = mysqli_fetch_array($testa_local)){ // if the lat and lng already in the database
if ($lat == $row['lat'] && $lng == $row['lng']) {
echo "Favor alterar o marcador.";
}
}else{
$query = ("INSERT INTO `anuncios` (`name`, `address`, `lat`, `lng`, `type`, `descricao`, `situacao`, `tempoAtivo`, `valor`, `FKCategoria`) VALUES ('$name', 'any', '$lat', '$lng', 'qualquer 1', '$descricao', 'ativo', '2018-04-28', '$valor', '1')");
mysqli_query($link,$query);
echo "Oportunidade cadastrada com sucesso!";
}
最佳答案
在 PHP 中(替换):
echo "Oportunidade cadastrada com sucesso!";
与:
echo json_encode(['answer':'Oportunidade cadastrada com sucesso!']);
在 JQuery 中:
success: function (data) {
alert(data);
location.reload();
}
与:
success: function (data) {
let str = JSON.parse(data.responseText);
console.log(str.answer)
}
关于php - 尝试从 PHP 和 MySQL 将数据发送到 AJAX 中的警报,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50091112/