Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 25.05.2020, 23:45
Новичок на форуме
Отправить личное сообщение для Амай Посмотреть профиль Найти все сообщения от Амай
 
Регистрация: 17.01.2020
Сообщений: 8

Передача переменной из php в js без перезагрузки страницы
Через ajax передаю id блоков на которых нажали в php и сохраняю в файле из файла нужные значения обратно передаю в js но надо без перезагрузки страницы передать, попробовал json но что то делаю не так и скрипт не работает, помогите разобраться видимо какие то глупости написал.

<html>                                                                  
<head>      
                                                         
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.5/jquery.min.js"></script>

                                                          
</head>
<body>


<?php


$myFile = "count.txt";
$lines = file($myFile);//file in to an array
$ipp =1;
$itt = $ipp+1;


if ($lines[$itt] == 0) {
echo $lines[$ipp]; // если следующая строка после 1 элемента массива 1+1 =2 2 строка равно нулю то выводим 1 строку
}
if ($lines[$itt] != 0) 	{   // иначе если не равно нулю то к ipp добавляется по циклу 1 и проверяется пока не выполнится условие при котором itt равно нулю
	for($i = 0; $i > $lines[$itt] == 0; $i++){
	$ipp = $ipp +1;
	$itt = $ipp+1;
	}
}


if ($lines[$itt] == 0) {
	$uil = $lines[$ipp];
	$ppp = 0;
	$eee = $ppp + $uil;
echo $uil; //line 2
echo json_encode($eee);
}
?>


<script type="text/javascript">
$(function(){

 
  $('div').each(function (index, element) {

$(this).not( "#y" ).not( "#ii" ).not( "#left" ).not( "#right" ).not( "#top" ).not( "#boot" ).not( "#rt" ).not( "#poleslov" ).not( "#teksts" ).click(function() {
		
		var a = $(element).attr("id"); //https://dmitrylavrik.ru/blog/php/zagruzka-izobrazhenij-na-server здесь как загружать изображения
		
		
$.ajax({
url:'index.php',
type : "POST",
data:{test1:a},
success:function(data){
alert ("<? echo $eee ?>");

}
})
})


   
var tlllll = JSON.parse( "<?php json_encode($eee) ?>");
alert(tlllll);

});

});
</script>

<?php


//
if (isset($_POST['test1'])) {
	

	$ffff = $_POST['test1'];
	
	

$fd = fopen("count.txt", 'a');


fwrite($fd, $ffff . PHP_EOL);


fclose($fd);

	


}


?>


</body>
</html>

Последний раз редактировалось Амай, 26.05.2020 в 15:28.
Ответить с цитированием
  #2 (permalink)  
Старый 26.05.2020, 03:25
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

И где здесь ajax? Тут вообще пусто, что там нажимается, что передается, какие проблемы, разве можно понять?
Ответить с цитированием
  #3 (permalink)  
Старый 26.05.2020, 09:36
Аватар для micscr
Профессор
Отправить личное сообщение для micscr Посмотреть профиль Найти все сообщения от micscr
 
Регистрация: 10.09.2009
Сообщений: 1,578

JSON.parse( "<?php print json_encode($eee) ?>");
Ответить с цитированием
  #4 (permalink)  
Старый 26.05.2020, 12:53
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

micscr, Амай, здесь не нужен JSON.parse, клиент на странице получит уже готовый объект/массив.
Ответить с цитированием
  #5 (permalink)  
Старый 26.05.2020, 15:06
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

Сообщение от Амай
$(this).not( "#y" ).not( "#ii" ).not( "#left" ).not( "#right" ).not( "#top" ).not( "#boot" ).not( "#rt" ).not( "#poleslov" ).not
Это что за чудо? Покажите html из-за которого надо так напрягаться. И что нужно отправить на сервер асинхронно, то что касается "здесь как загружать изображения"?
Ответить с цитированием
  #6 (permalink)  
Старый 26.05.2020, 15:50
Новичок на форуме
Отправить личное сообщение для Амай Посмотреть профиль Найти все сообщения от Амай
 
Регистрация: 17.01.2020
Сообщений: 8

В общем есть множество мелких блоков html, через пхп цикл создал их и так же через цикл пхп задал каждому блоку уникальный id получилась сетка она как бы скрыта. При клике на любой участок экрана добавляется сверху блок с формой у которого большой zindex и человек может вводить текст и после того как нажимает отправить этот текст пхп принимает и вставляет в html блок и этот блок добаляется через append в div на которую кликал пользователь и у него самый большой zindex получается эффект что человек кликает на участок экрана открывается форма вводит текст нажимает вставить и этот текст затем вставляется именно в этот участок куда нажимал. В общем это работает, но вот значения id куда будут кликать надо где то сохранить отправил в пхп через ajax и сохраняю в файле без перезагрузки все значения добавляется в файл, но теперь надо обратно так же без перезагрузки получать из файла эти значения. Код отредактирую сейчас.
Ответить с цитированием
  #7 (permalink)  
Старый 26.05.2020, 16:41
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

В каких местах повествования нужно расставить точки и запятые?
Ничего из этого не понять, да и не рассказы нужны, а пример hrml-кода.
А отправить асинхронно на сервер, так у вас есть код такой, так и отправляется.
А вот var tlllll = JSON.parse( "<?php json_encode($eee) ?>");, тут ошибка и это лишнее. Должно быть либо echo, либо его краткая запись, и без добавления кавычек:

var tlllll = <?=json_encode($eee)?>;


так как json_encode($eee) запишет в вывод литеральное представление массива или объекта, в зависимости от того, какой массив на сервере кодируется. JSON.parse совсем не нужен.
Ответить с цитированием
  #8 (permalink)  
Старый 27.05.2020, 23:13
Аватар для Malleys
Профессор
Отправить личное сообщение для Malleys Посмотреть профиль Найти все сообщения от Malleys
 
Регистрация: 20.12.2009
Сообщений: 1,714

Сообщение от laimas
var tlllll = <?=json_encode($eee)?>;
А зачем в JS находится PHP?

var tlllll = await fetch("get$eee.php").then(r => r.json());

Такой код можно обернуть в функцию, которая, например, вызывается при нажатии кнопки — будет свежее получение данных, а твой способ будет возвращать то, что «жестоко прибито к коду» и в принципе делает невозможным кеширование скрипта, поскольку его код всё время меняется.
Ответить с цитированием
  #9 (permalink)  
Старый 28.05.2020, 01:32
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

Сообщение от Malleys
А зачем в JS находится PHP?
А зачем он в html попадается, и вообще заем он?

Кстати именно в JS его и близко нет.

Последний раз редактировалось laimas, 28.05.2020 в 01:39.
Ответить с цитированием
  #10 (permalink)  
Старый 04.06.2020, 02:22
Аватар для Malleys
Профессор
Отправить личное сообщение для Malleys Посмотреть профиль Найти все сообщения от Malleys
 
Регистрация: 20.12.2009
Сообщений: 1,714

Сообщение от laimas
Кстати именно в JS его и близко нет.
А это что?
Сообщение от laimas
var tlllll = <?=json_encode($eee)?>;
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
<XHR> передача данных из js в php provigator AJAX и COMET 13 13.05.2019 19:24
AJAX или JS ReCaptcha 2.0 без перезагрузки страницы Kiriklk Javascript под браузер 1 19.02.2016 20:27
Передача переменной из JS в PHP Arx777 AJAX и COMET 3 02.04.2015 18:40
Подгрузка информера без перезагрузки страницы splean Общие вопросы Javascript 6 13.03.2009 15:31
Автообновление <div> без перезагрузки страницы Antihrist AJAX и COMET 14 28.07.2008 06:06