Php 如何在Symfony2中将ajax发布到安全控制器

Php 如何在Symfony2中将ajax发布到安全控制器,php,ajax,symfony,Php,Ajax,Symfony,我试图将Json数据类型发送到一个安全控制器is_grantedROLE_ADMIN,但是,正如您所猜测的,我无法让它工作,我得到一个405 method not allowed响应 当我把它发送给一个不安全的控制器时,它就工作了,所以我必须让控制器知道帖子是通过管理员角色发送的,但是如何发送呢 这是我的控制器: /** * @Route("/admin") * @Security("is_granted('ROLE_ADMIN')") */ class AdminController exte

我试图将Json数据类型发送到一个安全控制器is_grantedROLE_ADMIN,但是,正如您所猜测的,我无法让它工作,我得到一个405 method not allowed响应

当我把它发送给一个不安全的控制器时,它就工作了,所以我必须让控制器知道帖子是通过管理员角色发送的,但是如何发送呢

这是我的控制器:

/**
* @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 () {

如果您的方式不对,请通过symfony路由发送:


这应该是您所需要的全部

您的管理员控制器具有基于角色的安全性,并且您正在尝试匿名发布数据。通过请求发送应用程序身份验证凭据我从未收到ajax的此错误,请检查没有ajax的url,并查看您是否已使用角色_ADMIN登录。您以正确的方式帮助了我,在我的情况下,“/savesortorder”是解决方案。上面的url不起作用,因为我有一个外部脚本中的java代码。非常感谢。
url: "{{ path('save_sort_order') }}",