我有一个Jquery Drop上传表格所有工作正常,但当我试图从数据库获取数据与json工作,但我不知道为什么它显示错误。请在下方查看更多信息
我的错误
jQuery-2.1.4.min.js:2 Uncaught TypeError: Cannot use 'in' operator to search for 'length' in [{"name":"1.xlsx","size":34838},{"name":"485138_1.xlsx","size":34838}]
at s (jQuery-2.1.4.min.js:2)
at Function.each (jQuery-2.1.4.min.js:2)
at Object.success (misupload.js:111)
at j (jQuery-2.1.4.min.js:2)
at Object.fireWith [as resolveWith] (jQuery-2.1.4.min.js:2)
at x (jQuery-2.1.4.min.js:4)
at XMLHttpRequest.<anonymous> (jQuery-2.1.4.min.js:4)
这是我的js代码
$.get('/resumes/mis-upload-get-action?_act=bulk', function(data) {
$.each(data, function(key,value){
var mockFile = { name: value.name, size: value.size};
thisDropzone.options.addedfile.call(thisDropzone, mockFile);
totalFiles += 1;
completeFiles += 1;
});
$('.btn-proceed .badge').html(totalFiles);
});
这是我的服务器端json代码
[{"name":"1.xlsx","size":34838},{"name":"485138_1.xlsx","size":34838}]
请帮帮我
答案 0 :(得分:1)
该错误意味着jQuery正试图迭代它无法迭代的东西 - 在这种情况下是一个字符串。您需要解析数据,以便jQuery迭代它。
您可以使用$.getJSON
(jQuery会自动将数据解析为对象)或使用JSON.parse(data)
来执行此操作。
答案 1 :(得分:-1)
尝试使用.emit()
$.get('/resumes/mis-upload-get-action?_act=bulk', function(data) {
$.each(data, function(key,value){
var mockFile = { name: value.name, size: value.size};
thisDropzone.emit("addedfile", mockFile);
thisDropzone.emit("complete", mockFile);
totalFiles += 1;
completeFiles += 1;
});
$('.btn-proceed .badge').html(totalFiles);
});
如果有帮助请告诉我