Показать сообщение отдельно
  #14 (permalink)  
Старый 18.04.2022, 23:04
Профессор
Отправить личное сообщение для Vaska Посмотреть профиль Найти все сообщения от Vaska
 
Регистрация: 08.05.2017
Сообщений: 178

Честно говоря не понял вашу задумку.
Для каждого блока есть запрос Ajax, который вызывает контент в блок.
Например, для одного из блоков, на странице, есть код вызова:
$(function() {
//вызывает файл qrcode_tools.html
$('.qrcode_tools_user').mouseover(function(event){
	setTimeout(function() {
		$("#qrcode_tools_html").load(HOMESITEURL + '/Index/qrcode_tools.html');
	}, 50);
	$(this).unbind('mouseover');
});
});


В хедере страницы есть код для токена:
$.ajaxSetup({
				headers: {
					'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
				},
				data: {
					'__token__': $('meta[name="csrf-token"]').attr('content')
				},
				//cache: false,
			});
			$.ajaxPrefilter('script', function(options) {
				options.data = ''; // -токен
				options.cache = true; // -таймстэмп
			});


В файле PHP я проверяю не протух ли токен и если не протух, то подгружаю контент:

public function qrcode_tools() {			
			//Проверка общего одноразового токена __token__      и токена для страницы /home/Store/index.html?store_id=1     __token_index__ {:indexToken()}
			$csrf_token = input('get.__token__');
			//Если $csrf_token пустой, тогда блокировать, чтобы в отдельной странице не открывали без токена в ссылке
			if (empty($csrf_token)) {
				header("HTTP/1.1 404 Not Found");
				echo "Not Found";
				exit;				
					  //Проверка токена в ссылке страницы, чтобы совпадал с актуальным токеном и токеном в сессии
			} elseif ($csrf_token != session('__token__') && $csrf_token != session('__token_index__')) {
				echo '' . lang('page_outdated') . '<br>
						<div class="img-loader" style="height:82px;"></div>
						<em class="tips_arrow"></em>
						<script>
							setTimeout(function() {
								if (!localStorage.getItem("reload")) {
									localStorage.setItem("reload", "true");
									location.reload();
								} else {
									localStorage.removeItem("reload");
								}
							}, 2000);
						</script>
					';			
				exit;
			}
			//Загружает контент
			echo '' . lang('ds_mobile_shopping_better') . '<br>
					<img class="img-loader" src="' . HOME_SITE_URL . '/qrcode?url=' . config('ds_config.h5_site_url') . '" width="110" height="110" />
					<em class="tips_arrow"></em>';
		}


Куда добавить ваш код и что убрать из моего кода?
Ответить с цитированием