我在发布操作响应中有这个json对象:
{"status":"ok","filename":"538f057493d55.png"}
{"status":"ok","filename":"538f057493d11.png"}
我需要获取文件名值并将其添加到某些隐藏输入中,所以我这样做:
$.post(url, {image: src}).done(function(data){
var status = data.status;
if (status === "ok"){
var filename = data.filename;
$.each(filename, function(key, value){
var photosInput = $('#images');
photosInput.val(value);
});
} else {
// error
}
});
发布工作正常,但是根据文件名值显示一些错误:Uncaught TypeError: Cannot use 'in' operator to search for '16' in 538f057493d55.png
。求助。
答案 0 :(得分:0)
现在,$.each(filename,...
正在迭代文件名的字母。
但你似乎不需要任何迭代。看起来好像只是想要
$.post(url, {image: src}).done(function(data){
var status = data.status;
if (status === "ok"){
$('#images').val(data.filename);
} else {
// error
}
});
如果data
是一个数组并且您想要将所有文件名附加到输入,那么您可以
$('#images').val(data.map(function(f){ return f.filename }).join(' '));