我正在尝试从我的对象中访问“名称”,但是我没有找到解决方案。我的最终目标是访问文件名,然后用它来显示图像。然而我没能说出真正的名字。
这是我尝试从中访问数据的对象:
{
"file-0": {
"name": "2012-11-23-JokeExplanationCorner.jpg",
"type": "image\/jpeg",
"tmp_name": "C:\\xampp2\\tmp\\phpA93E.tmp",
"error": 0,
"size": 378086
},
"file-1": {
"name": "11039919_10206003688989240_2065769962_n.jpg",
"type": "image\/jpeg",
"tmp_name": "C:\\xampp2\\tmp\\phpA940.tmp",
"error": 0,
"size": 143703
}
}
这是生成文件的 php:如果有更好的方法来做到这一点,这将使我更容易接受建议:
$sFileName = "imgDB.txt";
for($i=0 ; $i<count($_FILES) ; $i++){
move_uploaded_file( $_FILES['file-'.$i]['tmp_name'] , "img/". $_FILES['file-
'.$i]['name'] );
}
$_FILES = json_encode($_FILES, JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE);
file_put_contents($sFileName, $_FILES);
最后这就是 JS 的工作原理了。它正在获取文件名,但我无法让它进入另一个更低的级别并 console.log 文件中所有 imgs 的名称。
$.getJSON( "imgDB.txt" , function( jData ) {
console.log("getJSON called for images");
for (var name in jData) {
if (jData.hasOwnProperty(name)) {
console.log(" name is = " + name);
console.log("jData = " + jData);
}
}
最佳答案
试试这个 Js 代码片段。
var Jdata = {
"file-0": {
"name": "2012-11-23-JokeExplanationCorner.jpg",
"type": "image\/jpeg",
"tmp_name": "C:\\xampp2\\tmp\\phpA93E.tmp",
"error": 0,
"size": 378086
},
"file-1": {
"name": "11039919_10206003688989240_2065769962_n.jpg",
"type": "image\/jpeg",
"tmp_name": "C:\\xampp2\\tmp\\phpA940.tmp",
"error": 0,
"size": 143703
}
}
var length = Object.keys(Jdata).length;
for (var i=0; i< length; i++) {
console.log(" name is = " + Jdata['file-'+i]['name']);
}
关于javascript - 访问存储在对象中的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43405693/