我正在尝试使用scriptData使用uploadify发送表单的附加数据,但它不会向后端PHP脚本发送任何内容。有人可以帮我吗?这是我正在尝试的..
使用Javascript:
<script type="text/javascript">
$(document).ready(function() {
$("#fileUpload").fileUpload({
'uploader': 'uploadify/uploader.swf',
'cancelImg': 'uploadify/cancel.png',
'script': 'uploadify/upload.php',
'folder': 'files',
'multi': false,
'displayData': 'speed',
'scriptData' : {'name' : $('#name').val()},
onComplete: function (evt, queueID, fileObj, response, data) {
alert("Successfully uploaded: "+response);
}
});
});
</script>
HTML:
Name: <input name="name" id="name" /><br />
<div id="fileUpload">You have a problem with your javascript</div>
<a href="javascript:$('#fileUpload').fileUploadStart()">Start Upload</a> | <a href="javascript:$('#fileUpload').fileUploadClearQueue()">Clear Queue</a>
upload.php的
(我已尝试过POST和GET方法,但都没有。)
$name = $_GET['name'];
or
$name = $_POST['name'];
我非常感谢你的帮助。
答案 0 :(得分:1)
我知道这有点晚了,但我试图让自己开始工作,并尝试做同样的事情。
您无法使用jQuery选择器在Uploadify的初始设置中获取“名称”的值:
'scriptData' : {'name' : $('#name').val()}
这是一个时间问题。在评估jQuery选择器时,页面刚刚完成加载,并且您的“名称”文本框(我假设)为空。上传时不会重新评估它。
但是,您可以随时更新脚本数据,包括在上传之前:
$('#myUpload').uploadifySettings('scriptData', {'Id':$('#IdTextBox').val() });
$('#myUpload').uploadifyUpload();
这样,您可以提取表单数据并将其与上传一起传递。 这是最简单的例子,多个文件上传会变得更复杂,但这应该足以让某人开始。
答案 1 :(得分:0)
我想你忘记了'fileDataName' : 'photo'
此外,您没有'method' : 'post'
选项,您可以根据scrpitData
或GET
访问POST
。
在后端,您可以按$_FILES['photo']
;
此外,您需要检查这些文件是否存在于相对路径中。
'uploader': 'uploadify/uploader.swf',
'cancelImg': 'uploadify/cancel.png',
'script': 'uploadify/upload.php',