2016-01-21 4 views
0

моего PHP кода является:Получить данные из PHP запроса с использованием JSON не работает

$query = "SELECT * FROM users WHERE user='admin' AND password='MTIz'"; 
$result = $link->query($query); 
$yes = array(); 
$yes[] = $result->num_rows; 
echo json_encode($yes); 

И мой HTML код:

$.ajax({ 
    url: 'vlogin.php', 
    type: 'POST', 
    data: myData, 
    dataType: 'json', 
    contentType: "application/json; charset=utf-8", 
    success: function(yes) { 
    alert(yes.Result);} 
}); 

ничего не вернуть. Что добавляет? Благодаря

+1

что делает предупреждение шоу вы можете попробовать удалить 'contentType' – guradio

+2

Попробуйте' $ да [ 'Result'] = $ result-> num_rows; ' –

+2

сделать' console.log (да) ', чтобы точно что внутри вашего ответа –

ответ

0
$query = "SELECT * FROM users WHERE user='admin' AND  password='MTIz'"; 
$result = $link->query($query); 
$yes = array(); 
$yes[] = $result->num_rows; 
echo json_encode($yes); 
die; 

применять штамп после json_encode($yes); это даст вам результат, то

и оповещения только да как этот alert(yes);

+0

die? но почему? –

+0

Не могли бы вы также объяснить, как это «умереть?» Поможет? – Dragos

+0

Поскольку несколько раз больше кода запускается перед отправкой на следующую страницу. – Jon

0

Попробуйте Ниже

$query = "SELECT * FROM users WHERE user='admin' AND password='MTIz'"; 
$result = $link->query($query); 
$yes = array(); 
$yes['record'] = $result->num_rows; 
echo json_encode($yes); 

И .ajax

$.ajax({ 
      url: 'vlogin.php', 
      type: 'POST', 
      data: myData, 
      dataType: 'json', 
      contentType: "application/json; charset=utf-8", 
      success: function(yes) { 
      console.log(yes.record); 
    } 
}); 
1

При использовании $ .ajax(), я обычно реализовать функцию обратного вызова ошибки:

С Jquery документ: error (Тип: Function (jqXHR jqXHR, String textStatus, String errorThrown))

Реализация его позволяет узнать, генерирует ли вызов (плохой JSON) или принимает ошибки (ошибки веб-службы): вы можете регистрировать/предупреждать textStatus и errorThrown. ?

$.ajax({ 
     url: 'vlogin.php', 
     type: 'POST', 
     data: myData, 
     dataType: 'json', 
     contentType: "application/json; charset=utf-8", 
     success: function(yes) { 
      console.log(yes.Result); 
     }, 
     error: function(jqXHR, textStatus, errorThrown) { 
      console.log(textStatus); 
      console.log(errorThrown); 
     } 
}); 
Смежные вопросы