在开始之前,请注意我必须更新一个不是我的网站,所以我不能重做整个逻辑。如果我这样做,我会用不同的方法。
我有一个cakephp应用程序,它有一个包含很多字段的表单。在此表单中,您可以浏览文件并异步保存。这是如何做到的:
$('#pickFile').click(function (e) {
e.preventDefault();
$.post(
"/admin/FileUploads/saveFromFlash/<?php e($session->id()) ?>", {
data: $("#myFileToUpload").val()
}, function (data) {
$("#returnedContentFromAjax").html(JSON.stringify(data));
},
"json");
});
调用的函数主要执行以下操作:
$this->FileUpload->save($this->data)
但这总是返回错误和“没有上传通过”。下面是创建错误消息的行:
if (!isset($this->data['FileUpload']['file'])) {
$this->setUploadError('No upload passed');
return false;
}
我不知道如何通过Ajax发送“$this->数据['fileupload'][文件]”。我想这是关键问题,因为我不知道在这里传递什么对象:
{ data:$("#myFileToUpload").val() },
我整晚都在忙,如果有人帮忙,我将不胜感激。