Ajax и jQuery - изменить логику работы скрипта
Есть функция для работы с ajax в jQuery - $.post(). В ней задана функция обратного вызова, выполняющая некие действия над данными, полученными в ajax ответе, а именно:
$.post("/index.php", {param: param}, function showUserDetails(data) {
var tmp='Здравствуйте, ' + data.name + '>Закладки (' + data.bookmarks + ')';
document.getElementById('auth').innerHTML=tmp;
}, "json");
Требуется изменить этот функционал таким образом, что сперва бы проверялось, есть ли уже в html коде страницы необходимые данные, и если есть, то не делать ajax запрос, а брать их прямо из html. Т.е. в этом случае вызывалась бы функция showUserDetails, где массив data извлечен из html кода страницы, а не из ajax ответа. Сама функция должна остаться без изменений, т.е. данные её всегда передаются в формате json. Итого логика работы должна быть такой:
Есть в html коде массив data ?
- если есть, выполняем showUserDetails(data)
- если нет, отправляем $.post и выполняем showUserData(data), как это и есть сейчас.
Также указать, какой именно код нужно разместить в html коде страницы. Т.е. этот код должен использоваться только в качестве источника данных и сам по себе никак не отображаться на странице. Другими словами, речь идет о том, чтобы массив data изначально разместить в html, и использовать ajax для его получения только в том случае, если в html коде этого массива не обнаружено.