一键上传(ocupload)jquery插件和cakephp 2
我正在尝试使用jquery的“一键上传”插件 它是一个插件,可以将普通输入type=“file”更改为您想要的任何元素,例如div,因此当您单击此div时,将打开一个文件浏览器,允许您选择要上载的文件。然后它提交了一个隐藏的表单,其中涉及一个iframe,我相信这个概念是众所周知的,但我并不知道 无论如何,到目前为止一切都很好。。。我的div打开了一个文件broswer 问题是,当选择一个文件时,插件应该自动将表单提交给您定义的操作。这似乎没有正确地发生,我认为这可能与我瞄准身体动作的位置有关 因此,在我看来,为了添加新的“瓷砖”,我有:一键上传(ocupload)jquery插件和cakephp 2,php,javascript,jquery,ajax,cakephp,Php,Javascript,Jquery,Ajax,Cakephp,我正在尝试使用jquery的“一键上传”插件 它是一个插件,可以将普通输入type=“file”更改为您想要的任何元素,例如div,因此当您单击此div时,将打开一个文件浏览器,允许您选择要上载的文件。然后它提交了一个隐藏的表单,其中涉及一个iframe,我相信这个概念是众所周知的,但我并不知道 无论如何,到目前为止一切都很好。。。我的div打开了一个文件broswer 问题是,当选择一个文件时,插件应该自动将表单提交给您定义的操作。这似乎没有正确地发生,我认为这可能与我瞄准身体动作的位置有关
<div id="TileImageUpload">Upload an image</div>
在上面的示例中,action参数指向my TileController action=>uploadImage。这看起来像:
function uploadImage() {
if ($_POST["upload"]=="Upload") {
return 'wooHoo';
} else {
return 'BooHoo';
}
}
注意我也尝试了回音“WoHoo”ect,但没有起到任何作用
因此,基本上,如果有一个成功的表单post,那么它应该将WooHoo返回到javascript,然后javascript应该提醒它
这不会发生的。有人知道为什么吗。就像我说的,我想可能和形体动作有关,但我已经尽了我所能
插件的实际JS不是很大,在这里发布可能有点过头了。如果有善良的灵魂同情和幻想帮助我走出困境,我可以在上面的链接上找到它 不应使用“return”,而应尝试使用“echo” 但是,由于在这种情况下,您的操作没有使用视图文件,因此您还应该禁用“autoRender”
$this->autoRender = false;
否则,CakePHP将抛出“未找到视图”异常
此外,要获取发布在CakePHP中的数据,请使用对象
例如:
$this->autoRender = false;
if($this->request->is('post')) {
echo 'data is posted. This is the content of the request:';
debug($this->request->data);
} else {
echo 'no form is posted';
}
最后,如果要返回JSON数据,请参阅手册的以下部分
$this->autoRender = false;
if($this->request->is('post')) {
echo 'data is posted. This is the content of the request:';
debug($this->request->data);
} else {
echo 'no form is posted';
}