Использование Angularjs $http в консоли браузера

Я тестировал службы AngularJS в консоли браузера во время разработки для быстрой проверки. Способ внедрения службы в консоль описан в этом вопросе или

var $inj = angular.injector(['myApp']);
var serv = $inj.get('myService');
serv.doSomething();

Это отлично работало с AngularJS 1.0.7. Однако после обновления до 1.1.5 он больше не работает для служб, использующих службу $http, которые не будут отправлять xhr.

Я пробовал вводить $http напрямую, это тоже не работает. В журнале изменений AngularJS, похоже, нет записей по этой проблеме. Могу я узнать, в чем здесь проблема?

Обновление:

Кажется, несжатая версия AngularJS 1.0.7 тоже не работает. В настоящее время протестирована рабочая версия только AngularJS 1.0.7 Minified.

Это работает и для несжатого файла.


person PSWai    schedule 26.08.2013    source источник
comment
Будет ли работать, если вы получите доступ к сервису $rootScope и позвоните $rootScope.$apply() ? На днях я столкнулся с похожей проблемой, и запуск цикла дайджеста был решением.   -  person Michelle Tilley    schedule 04.09.2013
comment
@BrandonTilley Это работает фантастически! Итак, $http изменено на $q, которое будет разрешено только в цикле дайджеста? Я думаю, что мне следует более внимательно прочитать список изменений. Спасибо!   -  person PSWai    schedule 05.09.2013
comment
Да, я так думаю. Я думал, может быть, я представлял, что это работает без цикла дайджеста, но вы помогли мне понять, что я не сошел с ума (по крайней мере, не из-за этого. :)   -  person Michelle Tilley    schedule 05.09.2013
comment
@BrandonTilley Я тоже думал, что это будет работать без цикла дайджеста, по крайней мере, не для отправки xhr. :)   -  person PSWai    schedule 05.09.2013


Ответы (1)


$http = angular.element(document.body).injector().get('$http');

потом

$http.get(...) // or post or whatever
person dustin.schultz    schedule 18.03.2015
comment
Очень понравилось! Я даже не знаю, почему человек, который спросил, не считает это правильным ответом! - person Islam Attrash; 16.05.2016
comment
ах блин это круто! У нас есть маркетологи, использующие Optimizely для запуска тестов AB, и теперь нет необходимости включать тяжелый jQuery! - person George; 07.02.2018