Помогают ли шаблоны JSON загружать контент через AJAX и повышать производительность?[закрыто]

StackOverflow https://stackoverflow.com//questions/20049436

Вопрос

Мы работаем над динамической информационной панелью, которая очень похожа на панель настроек Twitter под нашей учетной записью Twitter. Поскольку панель управления имеет множество элементов управления, большое количество контента заполняется динамически. Итак, в настоящее время мы это делаем именно так.

Это одно из меню на моей левой панели:

<a href="javascript:void(0);" onclick="fnGetFiles();">Files</a>     

Это вызванная функция, которая получает HTML:

function fnGetFiles(){
  $('#mainDashboard').html('<div class="rightContainer"><div class="tabLoader"></div></div><div class="clear"></div>');
  $.get(USER_DASHBOARD+'file_share/files.php',function(data){
  $('#mainDashboard').html(data);
});

Таким образом, мы в основном прикрепляем (добавляем) непосредственно HTML. Но я только что просмотрел панель управления Твиттера. enter image description here
Во-первых, это обработка URL-адресов, которую они выполняют для навигации между различными меню слева (добавлено изображение для справки). Он просто меняется на лету, и контент загружается. проверка код, который я заметил, они отправляют html как строки JSON.
Я не совсем уверен, но делает это повысить производительность каким-либо образом? У меня немного плохо с производством, и я хотел бы точно знать, какие фреймворки я могу использовать, чтобы добиться чего-то подобного (Кроме того, я сталкиваюсь с конфликтами AJAX между скриптами.).Я использую PHP, jquery для моего приложения.
Я пытался получить информацию от dev.twitter.com,и блог но не нашел конкретной информации по этому поводу.
Пожалуйста, если возможно, постарайтесь направить меня и пролить свет на это.
Спасибо за ваше время.

Это было полезно?

Решение

Ваш HTML, JavaScript, изображения и другие элементы на стороне клиента — все статический.Они должны оставаться такими.Вам не нужно динамически создавать какие-либо элементы в JavaScript.

Ваши вызовы AJAX просто должны сработать, получить данные, необходимые для заполнения вашего HTML, и добавьте эти данные в DOM.JSON/XML похож на протокол:

Протоколы связи должны быть согласованы участвующими сторонами.

Для вашего JS > PHP > JS JSON — отличный «протокол» (согласованный метод связи), поскольку он устанавливает стандарт, и вы просто используете json_encode() / json_decode() в вашем PHP и $.parseJSON() если вы используете jQuery.Использование JSON — это просто согласованный формат обмена сообщениями, который вы, как разработчик, должны использовать, поскольку это «стандарт».

Вы не хотите отправлять по проводу какие-либо дополнительные данные, которые вам не нужны.Не отправляйте HTML без необходимости.Запросите и ответьте, используя только те данные, которые вам нужны.

Не вдаваясь в излишние разглагольствования, скажу, что существует множество замечательных инструментов, которые помогут вам делать подобные вещи.AngularJS, например, позволяет автоматически обновлять DOM с помощью JSON, возвращаемого с сервера, с помощью таких операторов, как ng-repeat.По сути, это означает, что вам не нужно писать какой-либо собственный JavaScript для заполнения элементов DOM данными, полученными с сервера (которые и ваша панель управления, и мой приборной панелью в данный момент занимаюсь).

Кроме того, я использую веб-сокеты, потому что запуск нагрузки запросов AJAX для данных в реальном времени — это не то, для чего предназначены эти запросы AJAX.Если вам нужны данные каждые 5–10 секунд, хорошо, но не чаще, и вам нужна какая-то двунаправленная технология, такая как веб-сокеты, для реализации которой потребуется изучить React PHP и что-то вроде Ratchet (когда вы начнете работать). однако это круто).

Во-первых, договоритесь о «протоколе», который будут использовать как клиентская, так и серверная стороны.Затем отправляйте и получайте только те данные, которые вы нуждаться, и то, что изменения.Все остальное статично и приведет только к потере пропускной способности.Не передавайте HTML.Наконец, с точки зрения скорости, отправка JSON vs.отправка обычного текста - это зависит буквально от длины отправляемых символов.Вот и все.Тем не менее, эти преимущества в любом случае настолько незначительны, что вам не нужно о них беспокоиться, если только вы не отправляете HTML, а это не так.Ты.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top