我有这样定义的路线:
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');
}
}
答案 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]