如何 post 和 ajax 到 Symfony2 中的安全控制器
how to post with ajax to secured controller in Symfony2
我正在尝试将 Json 数据类型发送到安全控制器 (is_granted(ROLE_ADMIN))
,但是,正如您所猜到的,我无法让它工作,我得到一个 405 method not allowed
回应。
当我将它发送到不安全的控制器时它可以工作,所以我必须让控制器知道 post 以管理员角色发送,但是如何?
这是我的控制器:
/**
* @Route("/admin")
* @Security("is_granted('ROLE_ADMIN')")
*/
class AdminController extends Controller {
/**
* Lists all Project entities.
*
* @Route("/savesortorder", name="save_sort_order")
* @Security()
*/
public function orderAction(Request $request) {
$response = json_encode(array('message' => 'Saved succesfully!'));
return new Response($response, 200);
}
这是我的 ajax post:
$.ajax({
url: "/TMC/web/app_dev.php/admin/project/savesortorder",
type: 'POST',
dataType: 'json',
data: object,
cache: false,
success: function () {
你做错了,通过symfony路由发送:
url: "{{ path('save_sort_order') }}",
这就是您所需要的
我正在尝试将 Json 数据类型发送到安全控制器 (is_granted(ROLE_ADMIN))
,但是,正如您所猜到的,我无法让它工作,我得到一个 405 method not allowed
回应。
当我将它发送到不安全的控制器时它可以工作,所以我必须让控制器知道 post 以管理员角色发送,但是如何?
这是我的控制器:
/**
* @Route("/admin")
* @Security("is_granted('ROLE_ADMIN')")
*/
class AdminController extends Controller {
/**
* Lists all Project entities.
*
* @Route("/savesortorder", name="save_sort_order")
* @Security()
*/
public function orderAction(Request $request) {
$response = json_encode(array('message' => 'Saved succesfully!'));
return new Response($response, 200);
}
这是我的 ajax post:
$.ajax({
url: "/TMC/web/app_dev.php/admin/project/savesortorder",
type: 'POST',
dataType: 'json',
data: object,
cache: false,
success: function () {
你做错了,通过symfony路由发送:
url: "{{ path('save_sort_order') }}",
这就是您所需要的