我正在尝试连接Ajax和Symfony 4。我需要发送一些数据到我的控制器。
JavaScript:
$(function() {
$('#sortable').sortable({
axis: 'y',
opacity: 0.7,
update: function(event, ui) {
var list_sortable = $(this).sortable('toArray').toString();
$.ajax({
url: 'path(app_bundle_route)',
type: 'POST',
dataType: 'json',
data: {list_order:list_sortable},
success: function(data) {
console.log("xyxy");
}
});
}
});
});
控制器:
/**
* @Route("/admin/pages/reorder", name="admin_pages_reorder")
* @return \Symfony\Component\HttpFoundation\Response
*/
public function reorder(Request $request):Response
{
var_dump($request->getContent());
die;
}
我只得到了404分:
http://localhost:8000/admin/path(admin_pages_reorder)。
甚至添加大括号{{ path(...) }}都没有帮助。
在提出这个问题后,我已经解决了这个问题。
您必须将{{ path(路由名称) }}直接放入.twig中,而不是外部.js文件中
发布于 2018-06-04 04:22:51
就像html中的javascript代码:
var requestPath = '{{path(app_bundle_route)}}';
并在js文件中使用变量名
发布于 2019-01-05 01:08:25
实际上,这对我很有效:
var requestPath = "{{path('app_bundle_route')}}";
https://stackoverflow.com/questions/50652685
复制相似问题