这是我的代码,用于将文件上传到我的服务器。如何访问Json响应
$(function() {
$('#phy_fileupload').fileupload({
autoUpload: true,
add: function (e, data) {
$('body').append('<p class="upl">Uploading...</p>')
data.submit();
},
progressall: function (e, data) {
var progress = parseInt(data.loaded/data.total * 100, 10);
$('#phy_progress .bar').css(
'width',
progress + '%'
);
},
done: function (e, data) {
$.each(data.files, function (index, file) {
$('.upl').remove();
$('<p/>').text(file.name).appendTo("#phy_files");
});
}
});
});
下面是HTML
<div id="phy_progress">
<div class="bar" style="width: 0%;"></div>
</div>
<input id="phy_fileupload" type="file" name="files[]" data-url="<?php echo site_url('admin/upload/'); ?>" multiple>
<div class="files" id="phy_files"></div>
它非常好,上传图片和响应,我可以在Firebug看到发送JSON。
这是一个上传文件的响应。
{"files":[{"name":"2013-06-20_1235UQn5gm5SRUPzbA.png","size":29381,"url":"http:\/\/files\/2013-06-20_1235UQn5gm5SRUPzbA.png","thumbnail_url":"http:\/\/files\/thumbnail\/2013-06-20_1235UQn5gm5SRUPzbA.png","delete_url":"http:\/\/localhost\/mark\/?file=2013-06-20_1235UQn5gm5SRUPzbA.png","delete_type":"DELETE"}]}
现在的问题是,它在div(#phy_files)增加了文件的名称(即2013-06-20_1235.png),我想怎么过增加其上传到新的文件名服务器(即)2013-06-20_1235UQn5gm5SRUPzbA.png。现在,我花了一整天的时间来试图访问Json的这个响应,但显然无论是我看到了错误的结局还是我完全失去了,我至今都不知道如何访问这个响应。
任何帮助真的不胜感激。如果你不明白我在这里写的是什么,请告诉我,如果需要,我很乐意再解释一遍。谢谢。
在短:
的是,被上传的是什么问题,该文件名为让利说“file.png”,在服务器上它的名字改为“filexyzserdsdf.png”,现在我想响应文件的名称写在我的div(#phy_files),但它写'file.png',而不是
它工作:)非常感谢你Reyaner。我真的很感激你的帮助:)花了一整天的时间....但我可以说最后它工作:)谢谢。 –
没问题,先生! :) 只是为了解释,结果是一个字符串。所以你必须解析它到一个JSON对象...... selam! – reyaner
谢谢你的解释。 :) –