【发布时间】:2013-02-28 15:25:03
【问题描述】:
我正在尝试使用 jquery 表单插件通过 ajax 上传图像。我希望响应是文件名,以便我可以在发出请求的同一页面上显示过程和图像的保存版本。这似乎应该很容易。虽然我是 cakephp 和 jquery 的新手,但我已经尝试了整整 3 天以不同的方式执行此操作,并且遇到了一个又一个的路障!无论如何 - 一些代码:
我有以下表格:
<?php echo $this->Form->create('Tile', array('type'=>'file', 'action' => 'uploadImage')); ?>
<div id="TileImageUpload">
<?php echo $this->Form->input('upload_image', array('type' => 'file'));?>
<?php echo $this->Form->button('upload image', array('onClick'=>'$(\'#TileNewtileForm\').ajaxSubmit({target: \'#TileImageUpload\''));?>
</div>
<?php echo $this->Form->end(__('Submit')); ?>
这样就允许用户选择一张图片并提交给tiles控制器的uploadImage动作:
function uploadImage() {
$this->layout = 'ajax';
//process the image in here and save a copy of it, then return the images name
echo 'imagename';
}
返回的内容(根据教程和我制作的文档)应该放在 #TileImageUpload - 这是响应的目标 div。但实际上它只是转到仅显示图像名称的 uploadImage 视图。我希望图像名称返回到发出请求的同一页面,以便我可以将图像附加到文档中。
有什么想法吗?
【问题讨论】:
-
任何机构可以帮助我解决这个问题?我放弃了几个小时,以为休息会有所帮助,但我的速度很快:(
标签: php jquery ajax cakephp file-upload