Код jQuery, приведенный ниже, не работает для меня. Проблема, кажется, с $.each()
, потому что, когда я пытаюсь alert(orders);
или $mapinfo.append(orders);
вместо петли, он выводит все данные и работает нормально, но внутри петли дает ошибку говоря:
SCRIPT5007: Invalid operand to 'in': Object expected
внутри jquery-1.12.0.min.js (2,4211)
. Но я хочу, чтобы он получил всю информацию отдельно для следующего шага в моем проекте.
success: function(orders){
$.each(orders, function(i, order){
$mapinfo.append('<li>'+ order.type +'</li>');
});
}
здесь данные, внутри orders
[{"id":"1","lat":"26.260012","lon":"50.615517","type":"Restaurant "},{"id":"2","lat":"26.261667","lon":"50.613792","type":"supermarket"},{"id":"3","lat":"26.260464","lon":"50.612705","type":"Restaurant "},{"id":"4","lat":"26.259348","lon":"50.613049","type":"supermarket"}]?>
я попробовал писать jQuery.each()
и $(orders).each()
, но я всегда получаю ту же ошибку.
Edit1: уложив точку останова $.each
вот что внутри orders
..
orders "[{\"id\":\"1\",\"lat\":\"26.260012\",\"lon\":\"50.615517\",\"type\":\"Restaurant \"},{\"id\":\"2\",\"lat\":\"26.261667\",\"lon\":\"50.613792\",\"type\":\"supermarket\"},{\"id\":\"3\",\"lat\":\"26.260464\",\"lon\":\"50.612705\",\"type\":\"Restaurant \"},{\"id\":\"4\",\"lat\":\"26.259348\",\"lon\":\"50.613049\",\"type\":\"supermarket\"}]?>"