我正试图在这样的点击上进行ajax调用:
$.ajax({
type: "GET",
url: "/segments/ajaxGetHostsSegment",
data: {
deelgebied: deelgebiedid
},
success: function( data ) {
// CHECK ID'S WITH ID'S IN FORM AND CHECK CHECKBOXES
},
error: function (xhr, ajaxOptions, thrownError) {
console.log(xhr.status);
console.log(thrownError);
}
})
在我的路线文件中,我有:
$app->get('/segments/ajaxgethostssegment', 'Segments\Controller\IndexController::ajaxGetHostsSegment')->bind('segments.gethosts');
我的控制器操作:
public function ajaxGetHostsSegment(Application $app, Request $request)
{
$deelgebied = $request->request->get('data');
var_dump($deelgebied);
die();
}
但我总是得到错误:
No route found for "GET /segments/ajaxGetHostsSegment" (from "http://mext-pst.localhost:8080/segments/view/PSS1400023")
答案 0 :(得分:1)
错误的http请求方法:
您正在使用jQuery发送 GET 请求而不是 POST 请求。
$.ajax()
默认执行 GET 请求。
Silex会抛出异常,因为您尚未为 GET 定义路由,但仅针对 POST 。
$app->post('..')
解决方案:将请求类型添加到$.ajax
$.ajax({
type: "POST",
// ...
});