2016-02-07 161 views
1

我有一個來自Model/registro.php的查詢,它向我返回一個值Controllers/registro.php,我必須將數據返回給ajax,但不是它。 什麼能來回其中控制器/ registro.php 確實沒有任何回報的更迭問題:功能(數據)AJAX控制器不返回數據到ajax

型號/ registro.php

public function registrar($username,$email,$password,$confirm_password) 
{ 




    try{ 

       $this->has= crypt($password); 
       $this->has_con= crypt($confirm_password); 
       $p= true; 

       $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(); 

    } 






} 

控制器/ 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); 
    $respuesta="soy controllers"; 
    $fail="segenero un erro"; 
//var_dump($t); 
//echo ($t); 
if($t == true){ 
    //return "ok"; 
    header('Content-Type: application/json'); 
    echo json_encode($respuesta); 

}else{ 
    header('Content-Type: application/json'); 
    echo json_encode($fail); 
    //echo "fail"; 
    //echo json_encode("fail"); 
} 

阿賈克斯jQuery的

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


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

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

     }); 

}); 
+0

可以是任何數量的東西。從防止默認表單提交開始。如果'$('#register-submit')'是一個提交按鈕並且你不阻止提交,頁面將會刷新。然後,您需要檢查瀏覽器開發工具中的實際請求以獲取線索和錯誤 – charlietfl

+0

您得到了哪種錯誤? 'error:function(err){console.log(err); }' – 0x13a

+0

它沒有顯示任何錯誤,因爲model/registro.php執行插入操作,並向控制器返回響應,但Controller/registro.php不返​​回jquery ajax的數據 – Corovino

回答

0

嘗試使用回採e.preventDefault();

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

    e.preventDefault(); 

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

    $.ajax({ 
     .... 
    }); 

}); 

這裏提交事件被提到的相同的情況下

jquery ajax jqXHR.status is always 0

+0

發生錯誤是因爲按鈕有type =「submit」,導致事件點擊按鈕從未取消。 通過type =「button」更改type =「submit」,一切正常。 謝謝大家給你留言,幫了我很多。 – Corovino

+0

確切地說,如果你使用type =「submit」,你需要取消提交事件,但是如果你改變它的類型=按鈕不是必須的 –

+0

是的,我忘記了一點html,jajaj有時會發生 – Corovino

相關問題