2013-02-28 31 views
0

我试图使用jQuery表单插件通过ajax上传图像。我希望响应是文件名,以便我可以在发出请求的同一页面上显示进程和保存的图像版本。这似乎应该很容易。尽管我是一个有cakephp和jquery的新手,但我一直试图用不同的方式完成整整3天,并在路障后遇到路障!反正 - 一些代码:jquery表单插件和cakephp 2 - 通过ajax提交

我有以下形式:

<?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的视图,它只是说imagename。我希望imagename回到发出请求的同一页面,以便我可以将图像附加到文档中。

任何想法什么是错的?

+0

任何机构能帮助我吗?我放弃了几个小时思考休息会有所帮助,但我得到没有 - 快速:( – 2013-03-01 00:29:27

回答