2013-03-07 82 views
0

我正在開發一個AJAX註冊表單,它將被提交給Zend框架。目前,表單的操作似乎沒有執行。響應文本是當前HTML文檔的副本。有人可以告訴我我做錯了什麼,以及正確的URL應該是什麼?我已經使用模塊設置了項目。例如,應該從例子中,正確的URL下面是:「/帳號/註冊/ AUTH」Zend框架1提交表單url/action

#application.ini 
resources.router.routes.register.route = /register 
resources.router.routes.register.defaults.module = account 
resources.router.routes.register.defaults.controller = register 
resources.router.routes.register.defaults.action = index 

#application/modules/accout/controllers/RegisterController.php 
<?php 
    class Account_RegisterController extends Zend_Controller_Action{ 
     public function init(){ 
      $this->view->register = new Account_Form_Register(); 
     } 

     public function indexAction(){ 

     } 

     public function authAction(){ 
      $request = $this->getRequest(); 
      $form = new Account_Form_Register(); 

      if($request->isPost()){ 
       print('submit'); 
      }else{ 
       print('nothing yet'); 
      } 
     } 
    } 
?> 

#application/modules/account/views/scripts/register/index.phtml 
<div class="register"> 
     <form id="registerForm"> 
      <h2 class="formHeader">Register</h2> 

      <div class="floatLeft"> 
       <?php echo $this->register->fName; ?> 
      </div> 
      <div class="remaining"> 
       <?php echo $this->register->lName; ?> 
      </div> 

      <div class="floatLeft"> 
       <?php echo $this->register->uEmail; ?> 
      </div> 
      <div class="remaining"> 
       <?php echo $this->register->aEmail; ?> 
      </div> 

      <div class=""> 
       <?php echo $this->register->phone; ?> 
      </div> 

      <div class="floatLeft"> 
       <?php echo $this->register->oPassword; ?> 
      </div> 
      <div class="remaining"> 
       <?php echo $this->register->cPassword; ?> 
      </div> 

      <div id="formButton"> 
       <?php echo $this->register->submit; ?> 
      </div> 
     </form> 
</div> 
+0

看看可能是你應該禁用當你正在做的AJAX操作的視圖處理(因爲你使用的回聲,如'回聲json_encode($ some_data) ;'並且你不想返回任何東西 – MatRt 2013-03-07 04:58:56

+0

把表單改成非AJAX文章的結果是一樣的 – Josh 2013-03-07 14:36:22

+0

你能給我們你的HTML代碼嗎?一般來說,URL應該像http:// your_site/your_controller/your_action,你可以在一些GET參數之後像'?var = value'或'/ value'這取決於你的配置灰。 – MatRt 2013-03-07 21:26:12

回答

-1

正如我所說的,也許你應該做的AJAX行動,以便返回json_encode($some_data),而不是當禁用了該視圖處理的HTML內容。

嘗試

$this->_helper->viewRenderer->setNoRender(true); 

this article

+0

我不認爲他指的是他的觀點沒有被呈現,或者他的觀點有問題。他似乎無法用正常的http調用執行操作(不涉及ajax請求);他的問題可能與問題中提到的路線有關。 – 2013-03-07 11:47:23

+0

試圖找到解決方案。事實上,這個觀點似乎並不是直接的問題,但當他使用ajax過程時,這可能是一個未來的問題。找到一個解決方案,而不是投下來... – MatRt 2013-03-07 21:34:05