2013-06-27 3 views
0

У меня проблема с использованием бриза по проекту, основанному на HotTowel от John Papa. Я настроил ветер, как:Breeze не работает с некоторыми настройками проекта

var mgr = new breeze.EntityManager('breeze/Breeze'); 

все в порядке, но в случае, если я изменить свойства проекта Start Action от Current Page до Specific Page: HotTowel/Index и ветер не работает должным образом.

Я проверил запросы, используя firebug. Кажется, что в этом случае приложение отправляет запрос GET так:

http://localhost:53180/HotTowel/Index/breeze/Breeze/Metadata 

вместо

http://localhost:53180/breeze/Breeze/Metadata 

Я также проверил эту часть breeze.js, которая собирается отправить запрос GET. Параметр url установлен в breeze/Breeze/Metadata в обоих случаях, который кажется правильным.

ctor.prototype.fetchMetadata = function (metadataStore, dataService) { 
    var serviceName = dataService.serviceName; 
    var url = dataService.makeUrl("Metadata"); 
    var deferred = Q.defer(); 
    var that = this; 
    ajaxImpl.ajax({ 
    url: url, 
    dataType: 'json',... 

Я также попытался ~/breeze/Breeze, но он не работает, как имя удаленного обслуживания.

Поскольку я новичок в Интернете, возможно, это не связано с ветерок. Вопрос в том, почему вызов ajax (или бриз) зависит от того, как активируется проект?

+0

Посмотреть ответ к аналогичному вопросу о StackOverflow [** здесь **] (http://stackoverflow.com/questions/23767387/breeze-entity-manager-relative-path/23788779#23788779). – Ward

ответ

0

Причина, по которой это происходит, заключается в том, что вы указали относительный путь для EntityManager и если ваш url - localhost: 53180/HotTowel/Index, то относительный URL-адрес EntityManager - это localhost: 53180/HotTowel/Index +/breeze/Ветер.

Чтобы устранить эту проблему, измените путь EntityManager к следующему:

var mgr = new breeze.EntityManager('breeze/Breeze'); 
+0

Как я уже сказал во второй строке ответа, я только что объявил mgr, как вы сказали, и это не работает. – mehrandvd

1

Добавить / символ конфигурации для выполнения запроса относительно базового каталога:

var mgr = new breeze.EntityManager('/breeze/Breeze');