2009-03-04 9 views
1

私はちょうどDojoに入っていて、examplesのような単純なAJAX投稿を Dojoのウェブサイトで試してみたかったのです。dojo.xhrPostデータを送信していません

<form method="POST" id="addProjectForm"> 
<dl> 
    <dt>Project Name:</dt> 
     <dd><input dojoType="dijit.form.TextBox" id="projectName"></dd> 
    <dt>Project Description:</dt> 
     <dd><textarea dojoType="dijit.form.Textarea" id="projectDescription" style="width: 300px; height: 100px"></textarea></dd> 
</dl> 

<button dojoType="dijit.form.Button" style="float: right"> 
    Save Project 
    <script type="dojo/method" event="onClick"> 
     dojo.xhrPost({ 
      url: '/projects/add/', 
      load: function(data, ioArgs) { 
       alert(data); 
      }, 
      error: function(data, ioArgs) { 
       alert('There was an error'); 
      }, 
      form: 'addProjectForm' 
     }); 
    </script> 
</button> 
</form> 

と私は、次のしているバックエンドで:ここで

は、HTML/JSある

class ProjectsController extends Zend_Controller_Action 
{ 
public function addAction() 
{ 
    $this->_helper->layout->disableLayout(); 
    $this->_helper->viewRenderer->setNoRender(true); 

    $projectName = $this->_request->getParam('projectName'); 
    $description = $this->_request->getParam('projectDescription'); 

    print_r($_POST); 
} 
} 

私は 'プロジェクトの保存' ボタンをクリックすると、私はJSアラートボックスを取得します空の配列のPHP出力があるので、情報は全くポストされません。私は間違って何をしていますか?

答えて

2

これは愚かな間違いのためです。私はフォーム要素のいずれかに設定された名前を持っていませんでした。

0

私は昨夜Dojoを介してデータをポスティングして遊んでいたので、小さな発言が1つあります。

dojo.xhrPost()は道場ツールキットの最新バージョンで動作するように思われるだけで、以前のバージョンを使用しているときに応答サーバを処理したい場合、あなたは、dojo.io.iframe.send()にロックされていますPOSTingデータの後にあなたを与えます。これに関する文書は少し不明です。

関連する問題