【发布时间】:2019-06-27 05:28:06
【问题描述】:
我正在使用 Symfony 4、VueJs 2 和 Axios 通过 Ajax 发送我的表单。表单发送没有明显问题,但我的表单的输入数据似乎没有随它一起发送。
好奇心:我做到了,但使用 jQuery Ajax 并且效果很好。
我已经尝试过这个 2017 年的解决方案,但对我不起作用:POST Requests with axios not sending parameters
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);
}
}
【问题讨论】: