Hayageek jQuery文件上传插件将额外数据传递给PHP

时间:2014-02-06 01:49:37

标签: php jquery ajax file-upload

我正在使用优秀的Hayageek File Upload Plugin,带有进度条。

该插件允许用户指定处理上传文件的PHP文件的URL,如下所示:

var uploadObj = $("#fileuploader").uploadFile({
    url: "uploader.php",
    method: "POST",
    allowedTypes:"jpg", //,png,gif,doc,pdf,zip
    fileName: "myfile",
    multiple: false,
    autoSubmit: true,
    showStatusAfterSuccess:false,
    onSuccess:function(files,data,xhr) {
        alert( data );
    },
});

我希望(向PHP方面)发送项目ID以及上传的文件。 Ravi's website (click Advanced manually)上的Advanced标签显示可以使用以下任一方法向PHP上传处理器文件发送额外信息:

formData: {"name":"Ravi","age":31},

或,动态信息:

dynamicFormData: function() {
    var data ={ location:"INDIA"}
    return data;
},

我不清楚这两者之间的区别(如何使用不同) - 如果使用变量,我也不能通过普通formData:参数发送动态数据,例如formData: {"name": strName,"age": intAge},

无论如何,我真正的问题是下一点:没有关于如何在PHP端检索额外信息的信息。我假设数据是通过JSON发送的。我是JSON的废话。

以下是我尝试过的内容 - 这些尝试无效(试图在success:函数中提醒它alert(data)

PHP:

$formdat = json_decode($_POST['formData']);
echo $formdat.name;

也不是这样:

$formdat = $_POST['formData'];
echo $formdat['name'];

我应该如何引用formData - 例如nameage值?

1 个答案:

答案 0 :(得分:1)

答案很简单,我没想过尝试。对于上述原始问题中的三个例子:

$n = $_POST['name'];
$age = $_POST['age'];

$n = $_POST['location'];
echo $n; //alerts India

来源:作者网站上Disqus评论部分的回复主题:

How to access dynamicFormdata in upload.php ??
Suresh Koduri

Rafael says:

** in javascript: **

dynamicFormData: function() {
    var data ={ location:"INDIA"}
    return data;
}

-------------------------------------

** in upload.php **

$location = $_POST["location"];