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