duanlidi1051 2016-09-28 17:00
浏览 46
已采纳

对Web Service的Ajax请求即使有效也会返回错误

I have a function that makes an ajax call to a php file that should insert some fields of a form in a MySQL database. The insert operation works fine but the function returns me the error above when I print the response on an alert. Could someone tell me why does this happen?

Error shown on alert:

Resposta: {"readyState":0,"status":0,"statusText":"error"}

funcoes.js

function salvar(){
$.ajax({
    type: 'POST',
    dataType: 'json',
    data: {operationType: 'insert', nome: $('#nome').val(), sobrenome: $('#sobrenome').val(), idade: $('#idade').val() },
    url: 'http://localhost/projetos/wstest/cadastrar.php',
    ContentType: 'application/json',
    success: function(response){
        alert('Resposta: '+JSON.stringify(response));
    },
    error: function(err){
        alert('Resposta: '+JSON.stringify(err));
        alert('Erro ao inserir registro!');
    }
});}

cadastrar.php

include './conection.php';

header("Access-Control-Allow-Origin: *");

$link = conectar();

$nome = mysqli_real_escape_string($link, $_REQUEST['nome']);
$sobrenome = mysqli_real_escape_string($link, $_REQUEST['sobrenome']);
$idade = mysqli_real_escape_string($link, $_REQUEST['idade']);

$query = "INSERT INTO `usuario`(`nome`, `sobrenome`, `idade`) "
    . "VALUES ('$nome','$sobrenome','$idade')";

$res = mysqli_query($link, $query);

if(isset($_POST['operationType']))
{

    if ($_POST['operatioType'] == "insert") 
{        
    $query = "INSERT INTO `usuario`(`nome`, `sobrenome`, `idade`) "
            . "VALUES ('$nome','$sobrenome','$idade')";

    $res = mysqli_query($link, $query);

    if ($res == true) 
    {
        $resultado = 1;

        return $resultado;
    } 
    else
    {
        $resultado = 0;

        return $resultado;
    }

    echo json_encode($resultado);
}

else if($_POST['operationType'] == "login")
{

}
}
else
{
    echo "Formato de requisição inválido! O aplicativo não conseguiu se comunicar "
. "de maneira correta com o servidor.";
}
  • 写回答

1条回答 默认 最新

  • duanjing4623 2016-09-29 03:51
    关注
    1. Remove the line return $resultado; from if block & else block

      if ($res == true) 
      {
        $resultado = 1;
      
        return $resultado; //remove this line
      } 
      
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?