У меня есть файл PHP (GenerateJson.php), который использует json_encode для создания данных JSON из моей базы данных, я знаю, что у меня может быть тот же файл PHP, который записывается в .json-файл, но если я это сделаю что написано JSON будет содержать только данные из последнего времени GenerateJson.php запрашиваемом, и я хочу JavaScript, чтобы иметь возможность доступа данных в реальном времени на лету
в настоящее время мой код таков:
$('#search').keyup(function() {
var searchField = $('#search').val();
var myExp = new RegExp(searchField, 'i');
$.getJSON('Generated.json', function(data) {
var output = '<ul class="searchresult1">';
$.each(data.data, function(key, val) {
if ((val.artists.Artist.search(myExp) != -1)) {
var ArtistURL = "music/abArtist.php?artist=" + encodeURIComponent(val.artists.Artist);
output += '<li>';
output += '<a href="'+ ArtistURL +'"><h2>' + val.artists.Artist + '</h2></a>';
output += '</li>';
}
});
output += '</ul>';
$('#update1').html(output);
});
});
Когда я заменяю «Generated.json» на «GenerateJson.php»
Этот javascript не работает больше ...
Что такое хорошее и простое исправление? заставить это работать с «GenerateJson.php» и как?
Спасибо!
использовать AJAX, чтобы получить JSON с сервера – user3791775
, то вы должны указать в вашем PHP скрипт и генерировать данные на муха. альтернативой является добавление логики кэширования в PHP-код. 'if (json больше, чем X секунд) {сгенерировать новый json-файл}; spit out json file' –
Есть ли ошибки в консоли? @MarcB –