php
  • jquery
  • ajax
  • zend-framework
  • jeditable
  • 2010-12-01 107 views 0 likes 
    0

    我想用jaditable和ajaxupload,你可以看到一个演示here。我在一个Zend视图文件,如下所示使用这个插件:ajaxupload jeditable和zend框架

    JS代码

    $(".ajaxupload").editable("<?php echo $this->baseUrl('/inside/students/update-student'); ?>", { 
          indicator : "<img src='<?php echo $this->baseUrl('img/indicator.gif'); ?>'>", 
          type  : 'ajaxupload', 
          submit : 'Upload', 
          cancel : 'Cancel', 
          tooltip : "Click to upload..." 
         }); 
    

    HTML代码

    <img class="left-floating-image=" src="<?php echo $this->baseUrl($this->user['img_path']); ?>" /> 
         <p id="img_path" class="ajaxupload">Upload</p> 
    

    我的PHP代码在Zend控制器:

    public function updateStudentAction() { 
         $this->_helper->layout->disableLayout(); 
         $this->_helper->viewRenderer->setNoRender(); 
         if ($this->_request->isPost()) { 
          $params = $this->_request->getParams(); 
          Zend_Debug::dump($params); 
          $field = $params['id']; 
          $value = $params['value']; 
    //   $userID = Zend_Auth::getInstance()->getIdentity()->id; 
    // 
    //   $userModel = new Application_Model_Users(); 
    //   $userModel->update(array($field => $value), "id = $userID"); 
          echo $value; 
         } 
        } 
    

    唯一的问题是,当我转储POST变量我没有得到张贴的变量。我只得到这个:

    array(3) { 
        ["module"] => string(6) "inside" 
        ["controller"] => string(8) "students" 
        ["action"] => string(14) "update-student" 
    } 
    

    而且有2个错误说没有索引'id'或'value'。我检查了使用Tamper Data插件发送给服务器的是什么。这里是输出:

    21:46:09.886[634ms][total 634ms] Status: 200[OK] 
    POST http://localhost/industrial/public/inside/students/update-student Load Flags[LOAD_DOCUMENT_URI LOAD_INITIAL_DOCUMENT_URI ] Content Size[540] Mime Type[text/html] 
        Request Headers: 
         Host[localhost] 
         User-Agent[Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.12) Gecko/20101026 Firefox/3.6.12] 
         Accept[text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8] 
         Accept-Language[en-us,en;q=0.5] 
         Accept-Encoding[gzip,deflate] 
         Accept-Charset[ISO-8859-1,utf-8;q=0.7,*;q=0.7] 
         Keep-Alive[115] 
         Connection[keep-alive] 
         Referer[http://localhost/industrial/public/inside/students] 
         Cookie[PHPSESSID=dufubvhd6bihqd4jk5q655bap3] 
        Post Data: 
         POST_DATA[-----------------------------215452871217546 
    Content-Disposition: form-data; name="value"; filename="btn_companies.png" 
    Content-Type: image/png 
    
    PNG 
    

    我怎样才能得到正在发送的文件,如果Zend没有得到POST_DATA?一旦解决了这个问题,我需要让这个方法决定提交的数据类型(文本或文件)。

    回答

    0

    第一的:http://teethgrinder.co.uk/perm.php?a=zend-framework-jeditable 然后我还不太清楚,但是这是上周我学到了什么:

    嗨,

    不能从使用jQuery文件输入 阅读领域/ JavaScript,由于js安全限制,这是 。如果我 记得正确,则从 文件输入元素的任何读取都将返回一个空字符串 。

    $ form-> isValidPartial()方法 将不会执行验证,因为 请求参数mailattcht为空。

    如果这是您的最终 的意图,您也无法通过AJAX执行文件上传 。

    亲切的问候

    加里

    http://forums.zend.com/viewtopic.php?f=69&t=11833

    相关问题