我最近在我的symfony2捆绑包上切换了路由,以便在控制器中使用内联注释,而不是routeting.yml文件。 之后,ajax post 请求开始在没有参数的情况下通过。 我查看了它,注意到日志将发布请求显示为 [REQUEST_METHOD] => GET。 起飞带注释的路线将请求变成了一个帖子。 在我切换路由之前,事情运行良好。
这是控制器和路由
class DefaultController extends Controller
{
/**
* @Route("/emailShare/", name="emailShare")
* @Method({"GET", "POST"})
*/
public function indexAction()
和 jquery ajax
$.ajax({
type : 'post',
url: '/v2/social/emailShare',
如果我使用 curl 发布到同一个 url,它会在日志中显示为帖子。
curl -d "param1=value1¶m2=value2" http://mysite.com/v2/social/emailShare/
我的基于注释的路由通过 POST 执行 Ajax 调用没有问题。 与您的设置有一些不同之处:我根本没有在控制器中使用@Method注释,并且(FWIW)我的jQuery Ajax方法值全部大写。 例如:
class DefaultController extends Controller
{
/**
*
* @Route("/", name="emailShare")
*/
public function indexAction()
还有jQuery(我正在使用Twig来设置路径):
$.ajax({
type: 'POST',
url: '{{path("emailShare")}}',
以及相关的 routeting.yml 行:
AcmeDemoBundle:
resource: "@AcmeDemoBundle/Controller/"
type: annotation
prefix: /