【发布时间】:2015-08-13 17:59:14
【问题描述】:
控制器:
/**
* @Route("/email/{name}/{email}/{subject}/{message}", name="email")
* @Method({"GET", "POST"})
*/
public function indexAction($name, $email, $subject, $message, Request $request){
var_dump($name, $email, $subject, $message);
die;
}
阿贾克斯:
<script type="text/javascript">
$(document).ready(function() {
$('#contact-form').submit(function(event) {
$.ajax({
type:'POST',
url:'./email',
data:"/"+$('#name').val()+"/"+$('#email').val()+"/"+$('#subject').val()+"/"+$('#message').val(),
success:function(response){
alert(response)
}
});
event.preventDefault();
});
});
</script>
我正在尝试向控制器提交 ajax 请求。不幸的是,我得到 404,并出现以下错误: 找不到“POST /email”的路由(来自“http://localhost/Portfolio/web/app_dev.php/”)
PS。控制器中的代码用于调试目的
【问题讨论】:
-
首先运行
app/console debug:router看看你的路由是否存在。如果有重复的路由器,那么顶部的总是赢!