Php 使用Uploadify检索JSON数组响应?
我目前正在使用Uploadify插件将图像上传到使用AJAX的站点的特定目录中。这个很好用 上载图像时,我使用PHP处理服务器端功能,并将图像名称更改为随机16个字符的字符串 我在网络选项卡中的开发人员工具中肯定得到了正确的响应,因此jQuery是不正确的。我的响应是一个JSON数组 我试图做的是检索16个字符的字符串,然后在上传后立即显示图像?所以我真的需要得到这个随机的16个字符的字符串 HTML: JSON响应:Php 使用Uploadify检索JSON数组响应?,php,jquery,ajax,json,uploadify,Php,Jquery,Ajax,Json,Uploadify,我目前正在使用Uploadify插件将图像上传到使用AJAX的站点的特定目录中。这个很好用 上载图像时,我使用PHP处理服务器端功能,并将图像名称更改为随机16个字符的字符串 我在网络选项卡中的开发人员工具中肯定得到了正确的响应,因此jQuery是不正确的。我的响应是一个JSON数组 我试图做的是检索16个字符的字符串,然后在上传后立即显示图像?所以我真的需要得到这个随机的16个字符的字符串 HTML: JSON响应: client_name: "banana-gif.jpg" file_ext
client_name: "banana-gif.jpg"
file_ext: ".jpg"
file_name: "Rl4dmhySHWgrAsH6.jpg"
file_path: "/Applications/MAMP/htdocs/SimpleBlog/uploads/"
file_size: 22.85
file_type: "image/jpeg"
full_path: "/Applications/MAMP/htdocs/SimpleBlog/uploads/Rl4dmhySHWgrAsH6.jpg"
image_height: 534
image_size_str: "width="950" height="534""
image_type: "jpeg"
image_width: 950
is_image: true
orig_name: "Rl4dmhySHWgrAsH6.jpg"
raw_name: "Rl4dmhySHWgrAsH6"
非常感谢您的帮助,谢谢 Uploadify没有
onComplete
功能。您需要使用带有响应参数的onUploadSuccess
。像这样的
$('#userfile').uploadify({
'auto':false,
'swf': base_url + 'assets/js/jquery/uploadify_31/uploadify.swf',
'uploader': base_url + 'post/cover_upload',
'cancelImg': base_url + 'assets/jquery/uploadify-cancel.png',
'fileTypeExts':'*.jpg;*.bmp;*.png;*.tif;*.gif;*.jpeg',
'fileTypeDesc':'Image Files (.jpg,.bmp,.png,.tif,.gif,.jpeg)',
'fileSizeLimit':'10MB',
'fileObjName':'userfile',
'buttonText':'Select Photo(s)',
'multi':true,
'removeCompleted':false,
'onUploadSuccess' : function(file, data, response) {
alert("Random Image String: " + data.file_name);
}
});
编辑:
当然,它会给您一个错误,这不是您在更新的示例中拥有的有效JSON字符串。PHP的json_encode
,应该在数组上使用。结果应该是这样的
{"client_name": "banana-gif.jpg","file_ext": ".jpg","file_name":"Rl4dmhySHWgrAsH6.jpg","file_path":"\/Applications\/MAMP/htdocs\/SimpleBlog\/uploads\/","file_size": "22.85","file_type": "image/jpeg","full_path":"\/Applications\/MAMP\/htdocs\/SimpleBlog\/uploads\/Rl4dmhySHWgrAsH6.jpg","image_height": "534","image_size_str": "width=\"950\" height=\"534\"","image_type":"jpeg","image_width": "950","is_image": true,"orig_name": "Rl4dmhySHWgrAsH6.jpg","raw_name": "Rl4dmhySHWgrAsH6"};
双引号和正斜杠也必须转义json_encode
应该可以帮你做到这一点
然后您可以像这样使用它
警报(“随机图像字符串:“+data.file\u name”)代码>它只是抛出以下错误未捕获类型错误:无法读取null的属性“file\u name”
。有什么想法吗?对不起,我解释得不对。我的JSON数组与之类似,但我从开发人员工具的预览选项卡而不是响应选项卡中获取JSON元素。在上面修改代码后,它仍然只显示未定义的
。我的响应头应该是application/json
还是text/json
?好的,请发布您的json响应,就像在响应选项卡中看到的那样
client_name: "banana-gif.jpg"
file_ext: ".jpg"
file_name: "Rl4dmhySHWgrAsH6.jpg"
file_path: "/Applications/MAMP/htdocs/SimpleBlog/uploads/"
file_size: 22.85
file_type: "image/jpeg"
full_path: "/Applications/MAMP/htdocs/SimpleBlog/uploads/Rl4dmhySHWgrAsH6.jpg"
image_height: 534
image_size_str: "width="950" height="534""
image_type: "jpeg"
image_width: 950
is_image: true
orig_name: "Rl4dmhySHWgrAsH6.jpg"
raw_name: "Rl4dmhySHWgrAsH6"
$('#userfile').uploadify({
'auto':false,
'swf': base_url + 'assets/js/jquery/uploadify_31/uploadify.swf',
'uploader': base_url + 'post/cover_upload',
'cancelImg': base_url + 'assets/jquery/uploadify-cancel.png',
'fileTypeExts':'*.jpg;*.bmp;*.png;*.tif;*.gif;*.jpeg',
'fileTypeDesc':'Image Files (.jpg,.bmp,.png,.tif,.gif,.jpeg)',
'fileSizeLimit':'10MB',
'fileObjName':'userfile',
'buttonText':'Select Photo(s)',
'multi':true,
'removeCompleted':false,
'onUploadSuccess' : function(file, data, response) {
alert("Random Image String: " + data.file_name);
}
});
{"client_name": "banana-gif.jpg","file_ext": ".jpg","file_name":"Rl4dmhySHWgrAsH6.jpg","file_path":"\/Applications\/MAMP/htdocs\/SimpleBlog\/uploads\/","file_size": "22.85","file_type": "image/jpeg","full_path":"\/Applications\/MAMP\/htdocs\/SimpleBlog\/uploads\/Rl4dmhySHWgrAsH6.jpg","image_height": "534","image_size_str": "width=\"950\" height=\"534\"","image_type":"jpeg","image_width": "950","is_image": true,"orig_name": "Rl4dmhySHWgrAsH6.jpg","raw_name": "Rl4dmhySHWgrAsH6"};