Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 02.06.2015, 15:49
Новичок на форуме
Отправить личное сообщение для Panwo Посмотреть профиль Найти все сообщения от Panwo
 
Регистрация: 29.04.2015
Сообщений: 6

JSON не открывается файл
В файле php лежит массив с именами. Используя JSON нужно по нажатию кнопки доставать рандомные айди имя и дату, и вставлять их в таблицу html.
Не срабатывает все после if, идет по ветке else, не могу понять почему

<?php
 
mt_srand();
 
$people = array(
    array('id'=>1,'name'=>'Ivan','date'=>'1990-07-18'),
    array('id'=>2,'name'=>'Petro','date'=>'1991-06-01'),
    array('id'=>3,'name'=>'Andriy','date'=>'1992-05-30'),
    array('id'=>4,'name'=>'Katya','date'=>'1993-03-09'),
    array('id'=>5,'name'=>'Lesya','date'=>'1992-02-15'),
    array('id'=>6,'name'=>'Oksana','date'=>'1991-02-08'),
    array('id'=>7,'name'=>'Sergiy','date'=>'1993-01-31'),
    array('id'=>8,'name'=>'Bogdan','date'=>'1992-09-26'),
    array('id'=>9,'name'=>'Roman','date'=>'1994-10-22'),
    array('id'=>10,'name'=>'Ivanka','date'=>'1989-11-13'),
);
 
$count = 1;
if (isset($_GET['count']) && 
    is_numeric($_GET['count']) && 
    $_GET['count'] > 0 && $_GET['count'] < count($people) / 2) {
 
    $count = (int) $_GET['count'];
}
 
$result = array(
    'count' => $count,
    'data' => array(
    )
);
 
$ids = array();
for ($i = 0; $i < $count; $i++) {
    $el = $people[mt_rand(0,count($people)-1)];
    if (!in_array($el['id'], $ids)) {
        $ids[] = $el['id'];
        $result['data'][] = $el;
    }
}
 
header('Content-Type: application/json');
echo json_encode($result);




var  add = function() {
      // таблица
    var list = document.getElementById('table1');  
    
        var xhr = new XMLHttpRequest();
 
     // запрос к файлу php
      xhr.open('GET', 'ajax2.php');
      
            xhr.onreadystatechange = function() {
        if (xhr.readyState != 4) return;
   
           var contentType = xhr.getResponseHeader('Content-Type');
             if (contentType == 'application/json') {
            var user = JSON.parse(xhr.responseText);   
                      
                           var row = document.createElement("TR")
                                   
                                  //столбцы
                            var td1 = document.createElement("TD")
                             var td2 = document.createElement("TD")
                                var td3 = document.createElement("TD")
            console.log(user);
                             
                          td1.innerHTML = user.id;
                           td2.innerHTML = user.name;
                             td3.innerHTML = user.age;
                             row.appendChild(td1);
                             row.appendChild(td2);
                             row.appendChild(td3);
                         list.appendChild(row);
                                      }
        else {
            //alert(xhr.responseText);
        }
      }
     
      xhr.send(null);
  };
Ответить с цитированием
  #2 (permalink)  
Старый 02.06.2015, 16:02
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,252

Сообщение от Panwo
не могу понять почему
Сделай нормальный тестовый пример - оно и прояснится.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вставка json данных 1lider AJAX и COMET 5 14.02.2015 21:18
Не могу распарсить JSON. gorenie jQuery 3 29.11.2013 22:26
Не открывается файл 1.txt на сервере kilogram Серверные языки и технологии 2 26.04.2012 21:05
JSON или JSONP для запросов на другой сервер? Метод GET, для длинных сообщений? Kotakota jQuery 5 23.08.2011 23:12
jQuery. Обработка ошибок и JSON. mma_mma jQuery 3 19.07.2010 12:10