Javascript 将参数从php返回到ajax时出错

Javascript 将参数从php返回到ajax时出错,javascript,php,jquery,ajax,Javascript,Php,Jquery,Ajax,我正在开发一个网站,我使用ajax向用户显示一些消息,比如他是否在所有输入中插入了一些内容,我的数据库功能是否工作正常等等。但问题是,当我将字符串“empty”从php返回到ajax时,它工作正常,但当我返回字符串“success”时,我的ajax不工作,它只是将我重定向到我的php页面,并在屏幕上显示“success”。有什么不对劲 我的ajax代码: <script> $(document).ready(function () { $("#btn-envi

我正在开发一个网站,我使用ajax向用户显示一些消息,比如他是否在所有输入中插入了一些内容,我的数据库功能是否工作正常等等。但问题是,当我将字符串“empty”从php返回到ajax时,它工作正常,但当我返回字符串“success”时,我的ajax不工作,它只是将我重定向到我的php页面,并在屏幕上显示“success”。有什么不对劲

我的ajax代码:

<script>
    $(document).ready(function () {
        $("#btn-enviar").click(function () {
            var action = $("#novo-artigo-form").attr("action");
            var form_data = {
                titulo: $("#titulo").val(),
                imagem: $('#imagem')[0].files[0],
                texto: $("#texto").val()
            };
            $.ajax({
                type: "POST",
                url: action,
                data: form_data,
                success: function (response) {
                    if (response == 'success') {
                        $("#mensagem-artigo-novo").removeClass("alert-danger alert-warning");
                        $("#mensagem-artigo-novo").addClass("alert alert-success");
                        $("#mensagem-artigo-novo").html("<p id='login-mensagem-sucesso'>Artigo adicionado!.</p>");
                    }
                    if (response == 'error') {
                        $("#mensagem-artigo-novo").removeClass("alert-success alert-warning");
                        $("#mensagem-artigo-novo").addClass("alert alert-danger");
                        $("#mensagem-artigo-novo").html("<p id='login-mensagem-erro'>Houve um erro ao adicionar no banco.</p>");
                    }
                    if(response == 'errors'){
                        $("#mensagem-artigo-novo").removeClass("alert-success alert-warning");
                        $("#mensagem-artigo-novo").addClass("alert alert-danger");
                        $("#mensagem-artigo-novo").html("<p id='login-mensagem-erro'>Houve um erro na imagem.</p>");
                    }
                    if(response == 'empty'){
                        $("#mensagem-artigo-novo").removeClass("alert-success alert-danger");
                        $("#mensagem-artigo-novo").addClass("alert alert-warning");
                        $("#mensagem-artigo-novo").html("<p id='login-mensagem-aviso'>Preencha todos os campos.</p>");
                    }
                }
            });
            return false;
        });
    });
</script>

$(文档).ready(函数(){
$(“#btn enviar”)。单击(函数(){
var action=$(“novo artigo form”).attr(“action”);
变量形式_数据={
titulo:$(“#titulo”).val(),
imagem:$('#imagem')[0]。文件[0],
texto:$(“#texto”).val()
};
$.ajax({
类型:“POST”,
url:action,
数据:表格数据,
成功:功能(响应){
如果(响应=‘成功’){
$(“mensagem artigo novo”).removeClass(“警报-危险-警报-警告”);
$(“#mensagem artigo novo”).addClass(“警报成功”);
$(“#mensagem artigo novo”).html(

artigo adicionado!。

”; } 如果(响应=='error'){ $(“#mensagem artigo novo”).removeClass(“警报成功警报警告”); 美元(“#mensagem artigo novo”).addClass(“警惕危险”); $(“#mensagem artigo novo”).html(

Houve um erro ao adicionar no banco.

”); } 如果(响应=‘错误’){ $(“#mensagem artigo novo”).removeClass(“警报成功警报警告”); 美元(“#mensagem artigo novo”).addClass(“警惕危险”); $(“#mensagem artigo novo”).html(

Houve um erro na imagem.

”; } 如果(响应=='empty'){ $(“#mensagem artigo novo”).removeClass(“警报成功警报危险”); $(“#mensagem artigo novo”).addClass(“警报警告”); $(“#mensagem artigo novo”).html(

预先设定了一个游戏时间。

”; } } }); 返回false; }); });
我的php代码:

<?php

include_once $_SERVER['DOCUMENT_ROOT'] . '/banco/banco.php';
$titulo = $_POST['titulo'];
$data = date('Y-m-d');
$texto = $_POST['texto'];

$nomeImagem = $_FILES['imagem']['name'];
$imagem = $_FILES['imagem']['tmp_name'];
$formato = strtolower(end(explode('.', $nomeImagem)));
$extensoes = array('.jpg', '.png');

if (empty($titulo) || empty($texto)) {
    echo 'empty';
} else if (inserirPublicacao($conexao, $titulo, $data, $imagem, $texto) == 1) {
    $id = ultimoId($conexao);
    $caminhoBanco = '/imagens/publicacoes/' . $id . '.' . $formato;
    $caminho = '../../imagens/publicacoes/' . $id . '.' . $formato;
    if (alterarCaminho($conexao, $caminhoBanco, $id) == 1) {
        if (move_uploaded_file($imagem, $caminho)) {
            echo 'success';
        } else {
            echo 'errors';
        }
    }
} else {
    echo 'error';
}
?>

因此,在我的php代码中,当我的
titulo
texto
为空时,它会在屏幕上显示一条消息,表示为空。但当一切正常时,我会被重定向到另一个屏幕,那就是我的php文件。。那怎么了?为什么只有我的“空”语句有效? 另一件奇怪的事情是,如果我将“成功”改为“空”,它也不起作用


注意:我所有的div id都是正确的,因此问题不存在。

首先,使用事件提交,而不是单击。如果用户按“enter”,则不会触发事件,但表单为sendCheck spelling in.removeClass(“警报成功警报包装”)@r3步骤好,我将更改代码,但不会更改问题代码。谢谢你的提示@allu谢谢你,但这只是从哪里得到$conexao变量的细节,这个变量在php Inserirpublicaco方法中用作参数?