Angular JS и кросс-происхождение запросов

Я просто играю с угловым JS и подключаю его к некоторым реализованным мной спокойным веб-сервисам. Я перешел к использованию модуля $resource, предоставленного angular, и у меня есть простой вопрос (надеюсь). В моем коде ниже я делаю запрос к микросервису весенней загрузки, который я написал, и хочу узнать, как лучше всего получить доступ к URL-адресу.

Так есть ли другой способ вызвать ресурс, который имеет перекрестное происхождение, вместо того, чтобы писать строку ниже. Есть ли что-то вроде /customer/greeting, которое я мог бы использовать, но как мне тогда указать другой порт, поскольку мое угловое приложение находится на локальном хосте: 8000?

http://localhost\:9001/customer/greeting //this is a spring boot application

Мой полный код для service.js ниже, он находится на локальном хосте: 8000 и является узлом JS-сервера.

'use strict';

/* Services */

var phonecatServices = angular.module('phonecatServices', ['ngResource']);

phonecatServices.factory('Phone', ['$resource',
  function($resource) {
    return {
      pDetail: $resource('phones/:phoneId.json', {}, {
        query: {method: 'GET', params: {phoneId: 'phones'}, isArray: true}
      }),

      cDetail: $resource('http://localhost\:9001/customer/greeting', {}, {
        query: {method: 'GET'}
    })
    };
  }]);

Когда люди обычно внедряют, у них много http://balh бла, когда это происходит из разных источников? Есть ли шаблон, который можно применить здесь?

Заранее спасибо.


person user1107753    schedule 10.11.2015    source источник


Ответы (1)


Вы можете сделать это следующим образом:

Сделать функцию

var getCrossOriginUrl=function(portNo){
var crossOriginPath="http://localhost\:"
 return crossOriginPath+portNo+"/";
}

Итак, теперь вы можете позвонить так:

$resource(getCrossOriginUrl(9001)+'customer/greeting',{}, {
        query: {method: 'GET'}
})
person VizardCrawler    schedule 10.11.2015