在Symfony 1.4中使用POST ajax出错404

时间:2013-08-20 13:54:49

标签: symfony1 symfony-1.4

我有这样定义的路线:

order_request:
class: sfDoctrineRouteCollection
options:
model:                OrderRequest
module:               order
prefix_path:          /order
column:               id
with_wildcard_routes: true

尝试以这种方式使用ajax发布表单中的数据。

$.post('order/1578/exportPostsToProject', jsonString, function(data) {
    ...
});

1578是订单的ID。 Id并非严格要求,但它就在那里。 但问题是,一旦我尝试用POST做ajax请求我就会收到此错误:

POST http://184.95.x.xx/backend.php/order/1578/exportPostsToProject 404 (Not Found) 

如果我在GET中更改POST,则不会出现错误,并且一切正常。 我怎么解决这个问题 ?我需要发布数据。

我的控制员:

public function executeExportPostsToProject(sfWebRequest $request)
{

    $orderRequest = $this->getRoute()->getObject();
    $this->order_request = $orderRequest;
    $this->orderPostList = $orderRequest->getOrderGeneratedPosts();

    if ($request->isXmlHttpRequest())
   {
        $settingsString = $request->getParameter('settingsStr');
   }
}

1 个答案:

答案 0 :(得分:1)

您应该向明确允许POST请求的集合添加object route。 E.g:

order_request:
    class: sfDoctrineRouteCollection
    options:
        model:                OrderRequest
        module:               order
        prefix_path:          /order
        column:               id
        with_wildcard_routes: true
        object_actions:
            export: [get, post]