Ошибка, возвратившись, датирует от Controller php Ajax в jQuery

У меня есть проблема, возвратив информацию с одного Controllers/registro в php в один Ajax. controller получает информацию с одного Model/registro.php, но тот же самый не возвращается в Ajax эта информация, которую он получает.

Какой pordría быть мотивом из-за которого Controller/registro.php он не возвращает никакой информации в Ajax, несмотря на то, что да он реализует insert в Model/registro.php?

Model/registro.php

public function registrar($username, $email, $password, $confirm_password)
{                                 
    try
    { 
        $this->has = crypt($password);
        $this->has_con = crypt($confirm_password);
        $p= "soy diferente de uno";

        $registro = $this->conexion->conexion->query("insert into registro_por (nombre, correo, pass, conf_pass) values( '$username', '$email', '$this->has', '$this->has_con')");

        if ($registro)
        {
            return $p;                            
        }
        else
        {
            throw new Exception("Fallos la ejecución");                     
        }


    }
    catch (Exception $e)
    {
        echo 'Message: '.$e->getMessage();
    }         
}

Controllers/registro.php

require_once("../Model/registro.php");

$username = $_POST["username"];
$email = $_POST["email"];
$password = $_POST["password"];
$confirm_password = $_POST["confirm_password"];      

$reg = new Registro();
$t = $reg->registrar($username, $email, $password, $confirm_password);  

var_dump($t);

if ($t != 1)
{
    //return "ok";
    //echo "es difenrete de uno";
    return $t;
}
else
{
    return $t;
    //echo "fail";
}

Язык сценариев JavaScript

Ajax jQuery получи дату драйвера:

$('#register-submit').click(function () {      

    var data = $('#register-form').serialize();

    $.ajax({
        beforeSend: function () {
            console.log(data);
        },
        type: 'POST',
        url: '../Controllers/registro.php',
        data: data,
        success: function (data) {
            console.log('nanananana');
            console.log("soy data"+data);
        }
    });

});
2
задан 05.05.2017, 15:34
2 ответа

Не программируй вслепую, когда ты используешь Ajax. В тебе ты не добавляешь код один log ни ошибки ни одного грузя в твою функцию jQuery. Чтобы возвращать ошибку с php добавь ему это:

error: function (xhr) {
    console.log(xhr.responseText);
}

И сделай это таким:

$.ajax({
    beforeSend: function () {
        console.log(data);
    },
    type: 'POST',
    url: '../Controllers/registro.php',
    data: data,
    //Cargando, le agregas un gif a un div
    beforeSend: function () {
        console.log("cargando")
    },
    success: function (data) {
        console.log('nanananana');
        console.log("soy data"+data);
    },
    //Error que mostrará desde PHP
    error: function (xhr) {
        console.log(xhr.responseText);
    }
});
1
ответ дан 24.11.2019, 14:54
  • 1
    Привет хорошие d и # 237; схвати, спасибо за ответ, обычно я использую этот funci и # 243; n, но этот раз переместил ее из-за высоты, потому что задание было простым. Используйте этот линии, чтобы ловить ошибку: - ошибка: function (jqXHR, textStatus, errorThrow) {if (jqXHR.status === 0) {alert (и #39; Not connect: Verify Network. и # 39;); И ошибка, которая дала мне, была этой: Not connect: Verify Network. Я оставляю pastebin с c и # 243; я говорю, что я завершаю function ошибку, pastebin.com/LB0mFc7G – Corovino 08.02.2016, 14:00
  • 2
    Нет, est и # 225; плохо, ты не можешь ловить ошибку этой формы, так как с этим funci и # 243; n только ты печатаешь и #39; Not connect: Verify Network. и # 39; в alert, снопе то, что я говорю тебе, и он печатает ошибку с "console.log (xhr.responseText) " только, таким образом, видеть и # 225; s, что retorn и # 243; PHP и podr и # 225; s видеть в qu и # 233; l и # 237; nea он падает (будучи ошибкой) – Luis Alberto Aguilera Clarke 08.02.2016, 17:27
  • 3
    Он возвращает меня undefined, сделав это, как ты говоришь мне – Corovino 08.02.2016, 17:51
  • 4
    Он agreg и # 243; ошибка: function (xhr)?? и напечатай весь json ошибки console.log (xhr); – Luis Alberto Aguilera Clarke 08.02.2016, 18:06
  • 5
    ЕСЛИ это добавила ошибка: function (xhr) как recomend и # 243; но, только я произвожусь undefined, в console.log (xhr) – Corovino 08.02.2016, 20:56

return в твоем "Controllers/registro.php" возврати в линию кода, откуда он был назван; это: никогда он не выходит из PHP.

Если ты будешь хотеть, чтобы то, что производит код PHP, было возвращено в вызов AJAX, ты будешь должен делать это как будто ты будешь красить это в браузере, например echo $t вместо return $t.

0
ответ дан 24.11.2019, 14:54