Я использую Symfony 4, VueJs 2 и Axios для отправки моей формы с помощью Ajax.Форма отправляется без явных проблем, но кажется, что входные данные моей формы не отправляются вместе с ней.
Любопытство: я сделал это, но с jQuery Ajax и работает очень хорошо.
Я уже пробовал это решение на 2017 год, но у меня не работает: POST-запросы с аксиосами, не отправляющими параметры
index.html
<form id="form" @submit.prevent="sendForm">
<input type="text" v-model="name">
<input type="submit" value="Send">
</form>
<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
<script src="https://unpkg.com/axios/dist/axios.min.js"></script>
<script>
let form = new Vue({
el: "#form",
data: {
name: ""
},
methods: {
sendForm: function () {
axios
.get("/send", this.data)
.then(response => console.log(response.data))
}
}
});
</script>
homeController.php
namespace App\Controller;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Routing\Annotation\Route;
class HomeController extends AbstractController {
/**
* @Route("/", name="home")
*/
public function index() {
return $this->render('home/index.html.twig');
}
/**
* @Route("/send", name="send")
*/
public function sendForm(Request $request) {
$name = $request->query->get("name");
return new Response($name);
}
}