Php Silex:jQuery AJAX请求引发异常-找不到“的路由”;得到……”;
我试图在tr单击时调用ajax,如下所示:Php Silex:jQuery AJAX请求引发异常-找不到“的路由”;得到……”;,php,jquery,ajax,symfony,silex,Php,Jquery,Ajax,Symfony,Silex,我试图在tr单击时调用ajax,如下所示: $.ajax({ type: "GET", url: "/segments/ajaxGetHostsSegment", data: { deelgebied: deelgebiedid }, success: function( data ) { // CHECK ID'S WITH ID'S IN FORM AND CHECK CHECKBOXES }, erro
$.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")
错误的http请求方法: 使用jQuery发送的是GET请求而不是POST请求 默认情况下,
$.ajax()
执行GET请求
Silex抛出异常,因为您没有为GET定义路由,而只为POST定义路由
解决方案:将请求类型添加到$.ajax
$.ajax({
type: "POST",
// ...
});
为什么您刚刚删除了
$app->post()
部分。。。并在您的问题中添加了类型:“GET”
?现在我的答案不再合适了。那太令人失望了。。。停止做这些编辑,否则没有人会再帮你了。你应该提出一个新问题。您现在遇到了一个完全不同的问题。我需要从数据库获取数据,我不需要向数据库发布某些内容。是的,但最初的问题是您创建了一个get请求,并且只定义了一个发布路由。。。现在完全不同了。对不起,我没有时间。下次打开一个新问题,不要编辑原始代码(可能附加新版本),除非粘贴时出错。
$.ajax({
type: "POST",
// ...
});