我想获取目录中所有文件的json以便对其进行搜索。
$('#get-data').click(function () {
var showData = $('#show-data');
$.getJSON('/data/**all files json**', function (data) {
console.log(data);
var items = data.items.map(function (item) {
return item.key + ': ' + item.value;
});
showData.empty();
if (items.length) {
var content = '<li>' + items.join('</li><li>') + '</li>';
var list = $('<ul />').html(content);
showData.append(list);
}
});
showData.html(data);
});
您认为有可能还是我需要使用其他方法?
谢谢
您不能发出将返回服务器上所有可能的JSON文件的通配符AJAX请求。您需要事先知道要将请求发送到的确切端点。否则,如果所有客户端都可以事先知道服务器上有哪些文件可用,则将是一个安全漏洞。
因此,这里的一种可能策略是/describe
在服务器上具有某个终结点,该终结点将返回所有可用JSON文件的列表。然后,客户端将首先向该端点发出AJAX请求,然后对于列表中的每个返回的端点,它将发出单独的AJAX请求:
$.getJSON('/data/discover', function (data) {
// suppose that data looks like this:
// ["/data/a.json", "/data/b.json", "/data/c.json"]
for (var i := 0; i < data.length; i++) {
// send an AJAX request to each individual JSON file
// available on the server as returned by the discover endpoint
$.getJSON(data[i], function (result) {
...
});
}
});
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句