работая с laravel 5.4 и пытаясь изменить содержимое div по прошествии определенного периода времени, другими словами, хотите изменить / обновить содержимое div, когда какие-либо изменения поступают в записи базы данных с помощью ajax. (что-то вроде уведомления) есть ли способ сделать это? Как?
Это можно сделать двумя способами: программированием сокетов или регулярным вызовом ajax.
Это зависит от того, является ли это разовым событием или вы планируете постоянно обновлять содержимое через определенные промежутки времени?
если вы хотите, чтобы сервер инициировал обновление, тогда ваш единственный вариант - использовать веб-сокеты. Если вы используете ajax, браузер должен инициировать обновление, и он не знает, действительно ли было выполнено обновление, поэтому все, что он может сделать, это просто запросить последние данные, какими бы они ни были. Вы можете настроить его на работу с интервалом, чтобы он просто продолжал спрашивать, но не спрашивайте слишком часто, иначе у вас просто возникнут проблемы с производительностью.






вы можете попробовать приведенный ниже пример кода:
$.ajax({
url: "main.php",
error: function(){
// will fire when timeout is reached
},
success: function(){
//do something
},
timeout: 3000 // sets timeout to 3 seconds
});
Также прочтите документация ajax
спасибо, ребята, я нашел ответ. вот что я хочу:
setInterval(function(){ someFunction(); }, 3000);
Используя этот код, как вы могли узнать, что база данных обновлена / изменена?
это просто вызовет функцию после набора интервала, то есть: 3 секунды
как вы можете узнать, что в базу данных было внесено обновление для запуска ajax?