Swfupload:如何解析从upload.php脚本返回的数据
swfupload: how to parse returned data from upload.php script?
谷歌了大约1个小时,仍然找不到如何执行这个简单的任务!
upload.php以
结尾 echo "FILEID:" . $randomid; // Return the file id to the script
正在尝试获取这个FILEID:
function uploadSuccess(serverData) {
alert(serverData);
}
Alerts [object object]。文档没有任何帮助。没有可用的例子。
请帮忙!
嗯,首先,我认为你的uploadSuccess输入参数是错误的。文档说明:uploadSuccess(文件对象,服务器数据,接收到的响应)是正确的签名。
所以对于初学者来说,你需要在你的成功回调中抛出一些额外的参数:)其次,serverData是你的服务器输出。在您的示例中,看起来响应将是{"FILEID": "somerandomid"}(我假设它作为JSON返回,尽管这可能是一个错误的假设)
在任何情况下,要访问随机创建的id,只需执行
function uploadSuccess(fileObject, serverData, response){
alert(serverData.FILEID);
}
另外,你应该使用Firebug,这是Firefox的一个插件。它将允许您在回调函数上放置一个断点,并允许您查询serverData以准确地查看其中的内容。
解决!其实要简单得多。为什么我总是想得很复杂?函数uploadSuccess(fileObject, serverData, response) {alert(serverData);}
我使用JSON与SWFUpload。读取FILEID (@Eric建议)的问题是SWFUpload从上传的文件返回文件名(例如,客户端已将"test.txt"上传到服务器,这是它返回的文件的名称)。这是可以的,但是如果你有一个重命名文件的PHP脚本(以避免替换),那么如果这个文件存在,那么服务器上的文件名不是"test.txt",而是"test(2).txt"。
在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是保存在服务器上的文件的名称(在重命名之后)。
- 使用 jQuery 从运行 MySQL 的 PHP 脚本返回信息
- 为什么&此脚本返回的位置未定义
- 使用jquery ajax访问php脚本返回的JSON
- JS脚本返回NaN
- Java脚本返回错误值
- 从Java脚本返回多个值,这些值不能在firefox上运行(在IE上运行良好)
- 如何使用AJAX处理从PHP脚本返回的数组
- JSON对象在控制台中显示对象,但也包含来自php脚本返回的字符串的“未定义”
- 脚本返回页面上不存在的元素
- Google 应用脚本:返回 2 个两个范围之间唯一值的函数
- Photoshop脚本返回输入值
- 如何将控制从php脚本返回到我的主页
- 如何让这个脚本返回数字0-9而不是1-10
- 自定义JavaScript NodeList选择器脚本返回空/未定义
- 如何访问php脚本返回的j-query中的数组
- 如何从php脚本返回检查值到调用页面
- 通过jquery检查PHP脚本返回的数据
- PHP脚本返回整个网页,而不是数据库数据
- 如何让脚本返回一个值
- Swfupload:如何解析从upload.php脚本返回的数据