Uncaught TypeError: Невозможно использовать оператор "in" для поиска "16" в
У меня есть эти объекты 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
, Спасибо за помощь.
1 ответ
Прямо сейчас, $.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(' '));