2012-05-15 52 views
1

在CakePHP 1.3我有這個路由器routes.php文件簡單的CakePHP的路由器JSON

Router::connect('/listing/*', array('controller' => 'items', 'action' => 'index')); 

我的問題是,我怎麼可以創建一個html-form與提交行動www.mysite.com/ listing.json

這是我目前在文件夾app/views/items/index.cpt中的表單。

$this->Form->create('Item'); // HTML: <form action="/listing" method="post"> 

我試圖改變提交 - 行動「listing.json」,但它沒有工作,因爲「/項目/」正在前插,我不希望出現這種情況。

$this->Form->create('Item', array('action' => 'listing.json')); // HTML: <form action="/items/listing.json" method="post"> 

++

換句話說,我希望表單動作是這樣的:任何想法?

<form action="listing.json" method="post"> 

回答

1

首先,您需要配置路由器來處理.json。

Router::parseExtensions('json');

然後做創作形式是這樣的。

$this->Form->create('Item', array('url' => array('controller'=>'items', 'action'=>'index', 'ext' => 'json')));

我相信這會工作。

但是...您正在嘗試做什麼存在問題。即使您將提交網址標記爲* .json,也不表示您將發佈json請求。有了這個改變,你會做的唯一事情就是發佈一個HTML表單到一個名爲* .json的網址。