如何使用ajax发布到Symfony2中的安全控制器

时间:2015-02-05 16:21:05

标签: php ajax symfony

我正在尝试将Json数据类型发送到安全控制器(is_granted(ROLE_ADMIN)),但是,正如您所猜测的,我无法使其工作,我得到405 method not allowed响应。< / p>

当我将它发送到不安全的控制器时,它可以正常运行,所以我必须让控制器知道帖子是以管理员角色发送的,但是如何?

这是我的控制者:

/**
* @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帖子:

$.ajax({
    url: "/TMC/web/app_dev.php/admin/project/savesortorder",
    type: 'POST',
    dataType: 'json',
    data: object,
    cache: false,
    success: function () {

1 个答案:

答案 0 :(得分:0)

你这样做是错误的,通过symfony路由发送:

url: "{{ path('save_sort_order') }}",

这应该就是您所需要的一切