我正在尝试使用 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')); ?>
这样就允许用户选择图像并将其提交给图块控制器的 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 视图。我希望图像名称返回到发出请求的同一页面,以便我可以将图像附加到文档中。
任何想法出了什么问题?