返回JSON数组jQuery的

问题描述:

我试着在PHP中返回一个JSON数组的jQuery但继续接收undifined。 即时通讯使用jquery Modal加载登录屏幕的用户然后登录,如果登录成功我希望他们重定向,如果不显示该操作。使用代码IM是返回JSON数组jQuery的

show: function (dialog) { 
    $('#loginForm').on('submit', function (e) { 
     e.preventDefault(); 
     $('input[type=submit]', this).attr('disabled', 'disabled'); 
     var username = $("#username").val(); 
     var password = $("#password").val(); 
     var url = "../_Scripts/login.php"; 
     if (!username) { 
      $('input[type=submit]', this).removeAttr('disabled'); 
      $("#loginReply").html('<img src="../_Images/round_error.png" alt="Error" width="31" height="30" /> &nbsp; Please enter your Username.').show().fadeOut(6000); 
      return false; 
     } else if (!password) { 
      $('input[type=submit]', this).removeAttr('disabled'); 
      $("#loginReply").html('<img src="../_Images/round_error.png" alt="Error" width="31" height="30" /> &nbsp; Please enter your Password.').show().fadeOut(6000); 
      return false; 
     } else { 
      $.post(url, $('#loginForm').serialize(), function (data) { 
       if (data.status == true) { 
        // window.location = data.action; 
        alert(data.status); 
       } else { 
        //$("#loginReply").html(data.action).show().fadeOut(10000); 
        //$("#username").val(''); 
        //$("#password").val(''); 
        //$("#loginProcessGif").hide(); 
        alert(data.status); 
       } 
      }); 
     } 
    }); 
}, 

的登录PHP页面看起来像这样

if($login){ 
     include("mysql-.php"); 
     $password2 = $password;     
      if($login_query > 0) { 
       while($row = mysql_fetch_array($sql)){ 
        $idx = $row["id"]; 
        $user = $row["username"];     
        mysql_query("UPDATE members SET lastlogin=now(), mdhash='$logincode', ip='$ip' WHERE id='$idx'") or die(mysql_error()); 
      } 

      return json_encode(array('status' => true, 'action' => '../home/')); 
     } 
     else { 
      return json_encode(array('status' => true, 'action' => 'Username/Password incorrect')); 
      exit(); 
     } 
else{ 
return json_encode(array('status' => true, 'action' => 'Username/Password incorrect')); 
       exit(); 
} 

谁能帮助为什么即时得到未定义瓦尔

感谢

+0

你不能只是'return' if语句中的编码阵列中的JSON和指望它去任何地方....这一切代码中的某些功能没有显示?还有更多吗? –

+0

没有它的功能。我最初使用回声返回数据,但我努力刷新页面时,在正确的用户登录和页面只是加载到jQuery的窗口 – Benjio

+0

相似:http://*.com/questions/2410773/how-to-返回数据从-PHP至A-jQuery的AJAX调用 –

排序它。发现你可以使用

header('Content-Type: application/json'); 
      echo json_encode(array('status' => false, 'action' => 'Username/Password incorrect')); 

返回一个JSON数组:)