這是我的代碼,用於將文件上傳到我的服務器。如何訪問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
謝謝你的解釋。 :) –