私はajaxuploadでjeditableを使用しようとしていますが、デモhereを見ることができます。次のように私は、Zendのビューファイルでは、このプラグインを使用しています:ajaxupload jeditable and zend framework
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>
Zendのコントローラで私のPHPコード:
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'がないことを示しています。私はFirefoxに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を取得しない場合、どのファイルを送信できますか?これが解決したら、私はこのメソッドが送信されているデータのタイプ(テキストまたはファイル)を決定する必要があります。