Мне нужно сделать так, чтобы при нажатии на кнопку во "view" "PostController" данные передавались в "MainController". Там, для начала, я просто хочу их распечатать. Я передаю данные с помощью fetch, но ничего не работает. Подскажите, пожалуйста, в чем проблема? https://github.com/ArthurDentPhillip/site1.local - ссылка на проект на github
Проблема в том, что ты не показал что ты делаешь, а предложил изучать твой проект где-то там. Дай минимально необходимый объем кода прямо здесь. Оформи код в ббкод [ code] или [ php ] . Если ты не в силах это сделать, будь готов к издевкам вместо помощи.
PHP: <body> <div class="container"> <div class="row"> <?php if (!empty($posts)): ?> <?php foreach ($posts as $post): ?> <?php $count = $count + 1; ?> <div class="col-3"> <img src="<?= $post['image_path'] ?>" class="card-img-top col_height" alt="..."> <div class="card-body"> <h5 class="card-title"> <?= $post['name'] ?> </h5> <p class="card-text"> <?= $post['info'] ?> </p> <a href="#" class="btn btn-primary x" ajax="<?php echo $count; ?>"> Go somewhere</a> </div> </div> <?php endforeach; ?> <?php endif; ?> <div class="result"></div> <button onclick="clickF()" class="btn btn-primary">btn</button>//КНОПКА ЧТОБЫ ПЕРЕЙТИ НА СТРАНИЦУ мэйн контроллера и индекс экшена </div> </div> <script src="https://code.jquery.com/jquery-3.7.0.js" integrity="sha256-JlqSTELeR4TLqP0OG9dxM7yDPqX1ox/HfgiSLBj8+kM=" crossorigin="anonymous"></script> <script src="/bootstrap/bootstrap.js/script.js"></script> <script type="text/javascript"> // function clickF(){ // window.location.href = '/main/index'; // } const dd = document; let blocks = dd.querySelectorAll('.x'); let url = APP . '/main/index'; var data = []; //МАССИВ В КОТОРОМ БУДУТ ХРАНИТСЯ ID КЛИКНУТЫХ ЭЛЕМЕНТОВ console.log(blocks.length) for(let i=0; i<blocks.length; i++){ console.log(blocks[i]); blocks[i].onclick = () => { alert(blocks[i].getAttribute('ajax')); data.push(blocks[i].getAttribute('ajax')); var unique = data.filter((x, i) => data.indexOf(x) === i); console.log(unique); const result = JSON.stringify(unique); fetchF(result, url); } } function fetchF (data, url){ fetch(url, { "method": "POST", "headers": { "Content-Type":"application/x-www-form-urlencoded: charset=utf-8" }, "body": JSON.stringify(data) }).then(function(responce){ return response.json(); }).then(function(data){ console.log(data) }) setTimeout(() => { window.location.href = '/main/index'; }, 3000); } - Это view постконтроллера, из которого мне нужно все передать в mainController.php. PHP: $data = file_get_contents("php://input"); $user = json_decode($data, true); echo json_encode($user); var_dump($user); - А это в mainController я распечатываю то что получил. Но массив который я получаю пустой