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
      } 
      
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 Matlab怎么求解含参的二重积分?
  • ¥15 苹果手机突然连不上wifi了?
  • ¥15 cgictest.cgi文件无法访问
  • ¥20 删除和修改功能无法调用
  • ¥15 kafka topic 所有分副本数修改
  • ¥15 小程序中fit格式等运动数据文件怎样实现可视化?(包含心率信息))
  • ¥15 如何利用mmdetection3d中的get_flops.py文件计算fcos3d方法的flops?
  • ¥40 串口调试助手打开串口后,keil5的代码就停止了
  • ¥15 电脑最近经常蓝屏,求大家看看哪的问题
  • ¥60 高价有偿求java辅导。工程量较大,价格你定,联系确定辅导后将采纳你的答案。希望能给出完整详细代码,并能解释回答我关于代码的疑问疑问,代码要求如下,联系我会发文档