У меня возникла очень странная проблема. Используя $ http, мой ответ не корректно переводится в карту/объект. Данные - это карта списков. Проблема в том, что элемент 100110150000000751 имеет значение из необработанных данных в первом журнале «1 групповые данные [». но после его преобразования в json он имеет значение пустого массива. Вы можете увидеть изображение журнала «после преобразования». Все это отлично работает в chrome с открытым отладчиком, но если отладчик не закрыт. Метод настолько прост, и нет места для условий гонки или чего-то еще. Я создал маленький рабочий стол html-файла со всеми теми же библиотеками и просто вызвал функцию без $ http, и это работает без проблем. Угловая 1.4.5 Любая помощь очень ценится.
transformResponse: function(groupMapResponse){
console.log("1 group data ["+groupMapResponse+"]");
var asdfdsafsad = (typeof groupMapResponse === 'string')?JSON.parse(groupMapResponse):groupMapResponse;
console.log("after conversion:",asdfdsafsad);
return asdfdsafsad;
}
Журнал консоли:
1 группа данных [{ "1000110150000002801": [ "1000110020000007753"], "1000110150000002855": [ "1000110020000009470"], "1000110150000004452": [ "1000110020000007895"] "1000110150000004362": [ "1000110020000006355"], "1000110150000004361": [ "1000110020000010309"], "1000110150000000751": [ "1000110020000007950"], "1000110150000004412": [ "1000110020000006353"]}]
Итак, где это ** не ** работает? – Phil
Um поле, заканчивающееся на 751, не должно быть пустым массивом. – Koder
В конкатенации 'groupMapResponse' в выводе консоли вы неявно преобразовываете его в строку, где это может быть не так. Вы должны использовать что-то вроде 'console.log ('typeof groupMapResponse', typeof groupMapResponse); console.log ('groupMapResponse', groupMapResponse) ', чтобы увидеть, что это на самом деле – Phil