Ajax 使用 Symfony 4
Ajax with Symfony 4
我正在尝试将 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(route name) }} 直接放入 .twig,而不是外部 .js 文件
像这样 javascript html 中的代码:
var requestPath = '{{path(app_bundle_route)}}';
并在js文件中使用变量名
实际上,这对我有用:
var requestPath = "{{path('app_bundle_route')}}";
我正在尝试将 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(route name) }} 直接放入 .twig,而不是外部 .js 文件
像这样 javascript html 中的代码:
var requestPath = '{{path(app_bundle_route)}}';
并在js文件中使用变量名
实际上,这对我有用:
var requestPath = "{{path('app_bundle_route')}}";