Мое Угловое 1.5.8 веб-приложение находится на http://www.example.com/foo/
, а мой список RESTful - на http://www.example.com/foo/api/bars
. Когда ui-router переходит в список баров в Angular, мой браузер находится в http://www.example.com/foo/#/bars
. Я просто хочу подключиться к ресурсу RESTful для подключения к http://www.example.com/foo/api/bars
с использованием HTTP GET
.
Так что я стараюсь наиболее очевидную вещь:
$resource("api/bars/")
В моей голове, что следует разрешить api/bars/
на пути тока http://www.example.com/foo/#/bars
дать мне http://www.example.com/foo/api/bar
, верно? Но это не работает (хотя я мог бы поклясться, что это сработало с $http
). Вместо этого он дает мне ошибку $resource:badcfg
.
Угловая позволяет мне сделать следующее, но это не дает правильный путь, вместо того, чтобы дать мне http://www.example.com/api/bars
:
$resource("/api/bars/")
Так я пытаюсь $browser.baseHref()
, но кажется, что должен быть установлен в пустую строку (почему ?), снова производя http://www.example.com/api/bars
.
$resource($browser.baseHref() + "/api/bars/")
Я пытался использовать $location.path()
, но Угловой думает, что я хочу путь после диеза, так что не работает, давая мне . Doh!
$resource($location.path() + "/api/bars/")
Как я могу просто решить api/bars/
на базовый путь текущего URL http://www.example.com/foo/#/bars
, производя http://www.example.com/foo/api/bars
(или даже просто по пути)?
Обратите внимание, что это не приемлемо для меня, чтобы жесткий код был абсолютным путем, или чтобы изменить код HTML. Почему я должен? Кроме того, это приложение будет установлено в двух местах на одном сервере (эй, это легко с Java, Tomcat и JAX-RS), на http://www.example.com/foo/
и http://www.example.com/foo-demo/
. Приложение должно запускаться без изменений под каждым местоположением, получая доступ к списку RESTful API в барах по http://www.example.com/foo/api/bars
и http://www.example.com/foo-demo/api/bars
, соответственно.
Это не сложно; это простой «синтаксис 101 URI», который уже более двух десятилетий описан в RFC. Я просто хочу разрешить api/bars/
базовому пути текущего URL-адреса http://www.example.com/foo/#/bars
. Как это сделать в Angular 1.5?
Это прекрасно, и у него также есть ценная информация, что причиной ошибки может быть не только проблема с массивом и объектами. –