Equivalent of getJSON function without jQuery
本问题已经有最佳答案,请猛点这里访问。
没有jQuery,这种方法相当于什么?
1 2 3 4 5 6 7 8 | $(function() { $.getJSON("datas.json", function(e) { var t = []; $.each(e, function(e, t) { $("div#" + e).text(t) }) }) }) |
谢谢。
使用普通的JavaScript您的代码看起来像这样:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | function createElements(elements) { // Assuming you get an array of objects. elements = JSON.parse(elements); elements.forEach(funciton (element) { var div = document.getElementById(element.id); div.innerHTML = element.text; }); } var request = new XMLHttpRequest(); request.onload = createElements; request.open("get","datas.json", true); request.send(); |
或者您可以使用其他酷库,如superagent,然后您的代码将如下所示:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | var request = require('superagent'); function createElements(elements) { // Assuming you get an array of objects. elements = JSON.parse(elements); elements.forEach(funciton (element) { var div = document.getElementById(element.id); div.innerHTML = element.text; }); } request.get('datas.json').end(function(error, elements){ if (!error) { createElements(elements); } }); |
您发布的代码有几个部分。
1 2 3 | $(function(){ .... }); |
这是jQuery相当于
1 2 3 | $.getJSON("datas.json", function(e) { .. }); |
这是jQuery的ajax get请求,看看
1 2 3 | $.each(e, function(e, t) { .. }); |
这只是对
1 | $("div#" + e).text(t) |
这将设置元素的文本,可能可以用