Php 如何访问Json响应
这是我上传文件到服务器的代码Php 如何访问Json响应,php,jquery,json,file-upload,Php,Jquery,Json,File Upload,这是我上传文件到服务器的代码 $(function () { $('#phy_fileupload').fileupload({ autoUpload: true, add: function (e, data) { $('body').append('<p class="upl">Uploading...</p>') data.submit(); }, progressall: function (e, d
$(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");
});
}
});
});
现在的问题是,它在div中添加了文件名(#phy_files)(即2013-06-20_1235.png),无论我如何添加上传到服务器的新文件名(即2013-06-20_1235UQn5gm5SRUPzbA.png)。现在我花了一整天的时间试图访问Json的这个响应,但很显然,要么我一直在看错误的一端,要么我完全迷路了,我至今不知道如何访问这个响应
任何帮助都将不胜感激。如果您不明白我在这里写的内容,请告诉我,如果需要,我非常乐意再次解释。多谢各位
简言之:
问题是上传的文件名为'file.png',在服务器上它的名称改为'filexyzersdf.png',现在我想把响应文件名写在我的div(#phy_文件)中,但它写的是'file.png',而不是,所以如果你控制台.log数据,日志中是什么
done: function (e, data) {
console.log(data);
$.each(data.files, function (index, file) {
$('.upl').remove();
$('<p/>').text(file.name).appendTo("#phy_files");
});
}
done:函数(e,数据){
控制台日志(数据);
$.each(data.files,函数(索引,文件){
$('.upl').remove();
$('').text(file.name).appendTo(“#phy_文件”);
});
}
现在它变得清晰了。。。好的,那么你应该这样做:
done: function (e, data) {
var res = jQuery.parseJSON(data.result);
$.each(res.files, function (index, file) {
$('.upl').remove();
$('<p/>').text(file.name).appendTo("#phy_files");
});
}
done:函数(e,数据){
var res=jQuery.parseJSON(data.result);
$.each(res.files,function)(索引,文件){
$('.upl').remove();
$('').text(file.name).appendTo(“#phy_文件”);
});
}
谢谢你,reyaner这是我在i console.log ok之后得到的,你从哪里得到的:{“文件”:[{“名称”:“2013-06-20_1235UQn5gm5SRUPzbA.png”…在你的帖子中。?在你的图片中。文件名是:2013-06-20_1235.png…是的,我上传的文件名是:2013-06-20_1235.png。但是服务器脚本更改了上传的文件名,并创建了一个json,即->{“文件”:[{“名称”:“2013-06-20_1235; uqn5gm5gsrupzba.png”…在我们的回答中。在这张图片中,你可以看到这是从哪里来的:在结果标题下进行检查。现在我得到的是,变量数据包含所有上传的信息,结果包含所有从服务器返回的信息。现在我如何访问“结果”标题下的信息。它起作用了:)非常感谢Reyaner。我真的很感谢你的帮助:)花了一整天的时间……但我可以说它终于起作用了:)谢谢你。没问题,先生!:)只是解释一下,结果是一个字符串。所以你必须把它解析成一个JSON对象……塞拉姆!谢谢你的解释。:)
done: function (e, data) {
console.log(data);
$.each(data.files, function (index, file) {
$('.upl').remove();
$('<p/>').text(file.name).appendTo("#phy_files");
});
}
done: function (e, data) {
var res = jQuery.parseJSON(data.result);
$.each(res.files, function (index, file) {
$('.upl').remove();
$('<p/>').text(file.name).appendTo("#phy_files");
});
}