在开始之前,请注意我必须更新不属于我的网站,因此我无法重做整个逻辑。如果我这样做,我会采用不同的方式。
我有一个带有很多字段的表单的cakephp应用程序。在此表单中,您可以浏览文件并以异步方式保存。以下是它的完成方式:
<input type="file" name="data[FileUpload][file]" id="myFileToUpload">
<a id="pickFile" href="#">Upload Now</a>
<script type="text/javascript">
$('#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");
});
</script>
调用的函数主要执行此操作:
$this->FileUpload->save($this->data)
但是这总是返回false并且“没有上传”。以下是创建错误消息的行:
if (!isset($this->data['FileUpload']['file'])) {
$this->setUploadError('No upload passed');
return false;
}
我不知道如何通过ajax发送这个“$ this-&gt; data ['FileUpload'] ['file']”我猜这是关键问题因为我不知道对象是什么通过这里:
{ data:$("#myFileToUpload").val() },
我整个晚上一直在这里,任何帮助将不胜感激
答案 0 :(得分:3)
总结:javascript无法访问选择上传的文件的内容。
本文介绍如何为文件上传获取“ajax效果”:Is it possible to use Ajax to do file upload?
答案 1 :(得分:0)