我使用以下jquery上传文件..
function ajaxFileUpload(jobid) {
$("#loading")
.ajaxStart(function () {
$(this).show();
})
.ajaxComplete(function () {
$(this).hide();
});
$.ajaxFileUpload({
url: 'addjobrpc.php',
secureuri: false,
jobID: jobid,
fileElementId: 'fileToUpload',
dataType: 'json',
success: function (data, status) {
$('#imageid').val(data.imageid);
if (typeof (data.error) != 'undefined') {
if (data.error != '') {
alert(data.error);
} else {
alert(data.msg);
}
}
},
error: function (data, status, e) {
alert(e);
}
})
return false;
}
我的表单看起来像这样......
<form name="form" action="" method="POST" enctype="multipart/form-data">
我用$ _FILES ['fileToUpload'] ['name']获取文件名;但是如何获得不属于文件上传的输入?例如,Jobid是一个隐藏字段,但我似乎无法在addjobrpc中获取该值。
由于
答案 0 :(得分:2)
The particular plugin似乎只支持一个指定的输入元素文件类型而不是整个表单。
所以我认为你不能传递其他元素。
答案 1 :(得分:1)
我不熟悉这个插件,但在快速查看源代码后,它似乎无法发送任何其他POST数据。
我建议改用this plugin,这可以让你做这样的事情:
new AjaxUpload('#upload_button_id', {
action: 'addjobrpc.php',
name: 'fileToUpload',
// Additional data to send
data: {
jobID:jobid
},
// Submit file after selection
autoSubmit: true,
responseType: "json",
onComplete: <success function goes here>
});
然后,您可以使用$_POST['jobID']
检索服务器上的数据。
答案 2 :(得分:0)
你设置它的方式然后'jobID'作为参数发送到ajaxFileUpload(),但没有一个jQuery AJAX函数知道如何处理它。但是,考虑到您提供的代码示例,我并没有真正看到任何数据是如何发送到服务器的。你能提供更多代码吗?