2013-12-23 2 views
0

Im пытается вернуть массив Json в php для jquery, но продолжать получать unifined. Я использую jquery Modal для загрузки экрана входа, который пользователь регистрирует, и если логин успешно, я хочу, чтобы они перенаправлялись, если не отображали эти действия. Код им с помощью являетсяВозвращение массива json в php для 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' в JSON закодированный массив в, если заявление и ожидать, что она никуда идти .... всё это делается код в какой-то функции, которую вы не показывали? Есть еще? –

+0

Нет его не в функции. Я первоначально использовал эхо, чтобы вернуть данные, но я пытался обновить страницу, когда пользователь входит в систему правильно, а страница, загруженная только в окно jQuery – Benjio

+0

похожее: http://stackoverflow.com/questions/2410773/how-to- возврата данных из-PHP-к-а-Jquery-АЯКС-вызова –

ответ

0

Сортирован его. Найдено вы можете использовать

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

возвращать массив JSON :)

Смежные вопросы