Передача переменной из 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> |
И где здесь ajax? Тут вообще пусто, что там нажимается, что передается, какие проблемы, разве можно понять?
|
JSON.parse( "<?php print json_encode($eee) ?>");
|
micscr, Амай, здесь не нужен JSON.parse, клиент на странице получит уже готовый объект/массив.
|
Цитата:
|
В общем есть множество мелких блоков html, через пхп цикл создал их и так же через цикл пхп задал каждому блоку уникальный id получилась сетка она как бы скрыта. При клике на любой участок экрана добавляется сверху блок с формой у которого большой zindex и человек может вводить текст и после того как нажимает отправить этот текст пхп принимает и вставляет в html блок и этот блок добаляется через append в div на которую кликал пользователь и у него самый большой zindex получается эффект что человек кликает на участок экрана открывается форма вводит текст нажимает вставить и этот текст затем вставляется именно в этот участок куда нажимал. В общем это работает, но вот значения id куда будут кликать надо где то сохранить отправил в пхп через ajax и сохраняю в файле без перезагрузки все значения добавляется в файл, но теперь надо обратно так же без перезагрузки получать из файла эти значения. Код отредактирую сейчас.
|
В каких местах повествования нужно расставить точки и запятые?
Ничего из этого не понять, да и не рассказы нужны, а пример hrml-кода. А отправить асинхронно на сервер, так у вас есть код такой, так и отправляется. А вот var tlllll = JSON.parse( "<?php json_encode($eee) ?>");, тут ошибка и это лишнее. Должно быть либо echo, либо его краткая запись, и без добавления кавычек: var tlllll = <?=json_encode($eee)?>; так как json_encode($eee) запишет в вывод литеральное представление массива или объекта, в зависимости от того, какой массив на сервере кодируется. JSON.parse совсем не нужен. |
Цитата:
var tlllll = await fetch("get$eee.php").then(r => r.json()); Такой код можно обернуть в функцию, которая, например, вызывается при нажатии кнопки — будет свежее получение данных, а твой способ будет возвращать то, что «жестоко прибито к коду» и в принципе делает невозможным кеширование скрипта, поскольку его код всё время меняется. |
Цитата:
Кстати именно в JS его и близко нет. |
Цитата:
Цитата:
|
Часовой пояс GMT +3, время: 22:20. |