Как запросить данные из json без php обработчика?

Всем привет, друзья!

Имеется статический сайт, без движка. Проблема в том, что на странице много картинок и информации, которая очень долго грузится при первоначальной загрузке, поэтому нужна реализация подгрузки определенных блоков по клику "Показать еще".
Вместо БД на сервере лежит json файл (data.json), в котором примерно такая структура:
{
  "contacts" : {
    "address" : "Тут адрес",
    "phone" : "+71234567890",
    "email" : "example@gmail.com"
  },
  ...
  "blocks" : {
    "block1" : {
      "img" : "img/1.png",
      "text" : "same text for block 1"
    },
    ...
    "blockN" : {
      "img" : "img/n.png",
      "text" : "same text for block N"
    }
  }
}

Структура примерная, т.е. если что-то неправильно, то можете поправить.
Теперь по клику на "Показать еще" нужно запросить json файл и вывести данные.
Данные всех блоков хранятся в одном json файле, т.к. думаю будет неправильно для каждого блока создавать отдельный json файл?
Пока что делаю вот так:
$.ajax({
  url: "data.json"
}).done(function(data) {
  console.log(data.blocks);
})


Правильно ли так вообще делать? Точнее, скорее всего не правильно, т.к. насколько понимаю, всегда есть обработчики, которые берут информацию с БД.
И как передавать какие-то параметры при таком запросе (что мне нужен именно объект blocks, а в данном случае еще и должны подгружать только несколько по клику)?
Очень надеюсь на ответ, т.к. только начал изучать JS, а в интернете уже перечитал кучу статей и не нашел ничего подобного, везде только php обработчики используются.
Спасибо!
  • Вопрос задан
  • 394 просмотра
Решения вопроса 1
Stalker_RED
@Stalker_RED
$.ajax({
  url: "data.json"
})

Эта штука загрузит весь файл целиком же.

Параметры можно передать как-то так:
$.ajax({
  url: "data.json",
  data: 'оранжевый=хит_сезона'
})

Но какой смысл в передаче параметров, если их никто не обрабатывает, по условиям задачи.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы