尝试从PHP和MySQL将数据发送到AJAX中的警报

时间:2018-04-29 20:44:46

标签: php jquery mysql ajax

我在ajax中构建此代码以将数据从表单发送到php文件以在同一页面中显示警报,我在线查看了几个示例但无法解析。

我只想返回" echo数据"来自警报中的PHP,但我只收到其中一条消息,例如" 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!";

}

1 个答案:

答案 0 :(得分:0)

在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)

        }