upload.php最终得到:
echo "FILEID:" . $randomid; // Return the file id to the script
现在尝试获取此FILEID:
function uploadSuccess(serverData) {
alert(serverData);
}
提醒[对象对象]。文档根本没有帮助。没有可用的例子。
请帮忙!
答案 0 :(得分:0)
嗯,首先,我认为你的uploadSuccess输入参数错误。 Documentation表示:uploadSuccess(文件对象,服务器数据,收到的响应)是正确的签名。
所以对于初学者来说,你需要在你的成功回调上抛出一些额外的参数:)其次,serverData是你的服务器输出。在您的示例中,看起来响应将是{“FILEID”:“somerandomid”}(我假设它以JSON的形式返回,尽管这可能是误导的假设)
在任何情况下,要访问随机创建的ID,您只需要执行
function uploadSuccess(fileObject, serverData, response){
alert(serverData.FILEID);
}
此外,您应该使用Firebug,它是Firefox的插件。它将允许您在回调函数上放置一个断点,并让您查询serverData以查看完全其中的内容。
答案 1 :(得分:0)
解决了!这要简单得多。为什么我总是认为复杂? function uploadSuccess(fileObject,serverData,response){alert(serverData); }
答案 2 :(得分:0)
我已将JSON与SWFUpload一起使用。 读取FILEID(@Eric建议)的问题是SWFUpload从上传的文件返回文件名(例如,客户端已将“test.txt”上传到服务器,这是它返回的文件的名称)。没关系,但是如果你有一个重命名文件的PHP脚本(为了避免替换),那么如果这个文件存在,那么服务器上的文件名不是“test.txt”,而是“test(2).txt”。 / p>
在uploadSuccess
中,我使用过:
.on('uploadSuccess', function(event, file, serverData){
var responseData = jQuery.parseJSON(serverData);
var upload_url_tmp = responseData["name"];
[...]
在服务器端,我使用过:
$data = array('name' => $file);
echo json_encode($data);
请注意$ file var是Server上保存的文件的名称(重命名后)。 使用PHP 5.4.9和SWFUpload 2.2.0.1