2014-10-02 4 views
0

Ошибка:JSON.parse на особый характер и становится нулевой

data[i].last_name is null

проверить результат с PHP и имеет «Бенас», который инициирует нулевое значение.

xhr.queue({ 
    url: 'controller/agents_handler.php', 
    data: {load_request: 'top_earners'}, 
    type: 'POST', 
    success: function(data) { 
     var data = JSON.parse(data); 
     var topEarnersDiv = $('.top_earners_container ul'); 
     var str = ""; 
     for (i in data) { 
      str += '<p class="lastname boldthis">'+data[i].last_name.substr(0,8)+'</p>'; 
     } 
    topEarnersDiv.html(str); 
    } 

Образец ответа:

{ 
    "user_id": "12345", 
    "user_name": "johnb", 
    "first_name": "john", 
    "last_name": null 
    } 

от ответа PHP:

имеет Beñas значение, которое становится null

PHP:

$sql = "SELECT * FROM students WHERE x= active"; 
    db::query($sql); 
    $mtd_list = array(); 
    while ($rows = db::fetch_assoc()) : 
     $mtd_list[] = $rows; 
    endwhile; 

    return $mtd_list; 
+0

Пожалуйста, напишите пример ответа. Я считаю подозрительным, что вы вызываете 'var data = JSON.parse (data)', хотя jQuery уже расшифровал ответ для вас ('dataType:" json "'). Если это работает, это означает, что вы закодировали свои данные как JSON не менее * дважды *. Что такое значение 'data'? –

+0

привет. добавлен образец ответа json-объекта, а также 'dataType:« json »- это просто исправленный тест, который не сработал. Я удалил это. – woninana

+0

ОК, поэтому значение уже «нулевое», когда дело доходит до клиента. Тогда проблема возникает на стороне сервера. Мы не можем вам помочь, если вы не опубликуете, как вы генерируете данные. –

ответ

0

Должна быть ошибка при обращении, если вы измените код изменения PHP, вы должны использовать utf8_encode() для анализа каждой строки в этом объекте.

+1

Зачем нужно это делать? 'utf8_encode' ожидает ** string ** в качестве входных данных. Вы считаете, что '$ yourStuff' является строкой? Он также возвращает строку. Какой смысл называть строку 'json_encode' на строке? –

+0

Вы правы. Ред. – Tomahock

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