Я бы посоветовал использовать JSONP так: https://jsfiddle.net/Twisty/0trde6es/5/
$(document).ready(function() {
getData();
function getData() {
$.ajax({
url: 'https://jsfiddle.net/echo/jsonp/',
method: 'GET',
dataType: "jsonp",
error: function(xhr, status, error) {
console.log(status, error);
},
success: function(json) {
var tr;
$.each(json, function(k, v) {
tr = $("<tr></tr>");
tr.append("<td>" + v.name + "</td>");
tr.append("<td>" + v.category + "</td>");
tr.append("<td>" + v.amount + "</td>");
tr.append("<td>" + v.location + "</td>");
tr.append("<td>" + v.date + "</td>");
$("#invList").append(tr);
});
}
});
}
});
Поскольку сайт не может находиться в одном домене и не использует HTTPS, я создал данные результата a1
для тестирования. Я использовал следующие тестовые данные:
[{"category": "Fruit", "name": "Banana", "amount": 15, "location": "Amsterdam", "date": "2014-10-05", "id": 13844}, {"category": "Fruit", "name": "Apple", "amount": 58, "location": "Amsterdam", "date": "2014-02-05", "id": 13845}, {"category": "Furniture", "name": "Chair", "amount": 3, "location": "Hilversum", "date": "2014-12-10", "id": 13846}, {"category": "Furniture", "name": "Table", "amount": 5, "location": "Rotterdam", "date": "2011-07-13", "id": 13847}]
Использование $.each()
- это просто более быстрый способ обработки данных объекта. В вашей for()
петле нет ничего плохого и может работать лучше, в зависимости от ваших потребностей.