Breeze无法使用某些项目设置
我在基于John Papa的HotTowel的项目中使用breeze时遇到了问题。 我配置了微风:
var mgr = new breeze.EntityManager('breeze/Breeze');
一切正常,但在这种情况下,我将项目属性从Current Page
Start Action
到Specific Page: HotTowel/Index
和breeze无法正常工作。
我用firebug检查了请求。 在这种情况下,应用程序似乎发送一个GET
请求,如下所示:
http://localhost:53180/HotTowel/Index/breeze/Breeze/Metadata
代替
http://localhost:53180/breeze/Breeze/Metadata
我还检查了breeze.js
这部分, 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调用(或微风)取决于项目如何激活?
在配置中添加/
字符以执行相对于基目录的请求:
var mgr = new breeze.EntityManager('/breeze/Breeze');
发生这种情况的原因是因为您为EntityManager指定了相对路径,如果您的url是localhost:53180 / HotTowel / Index,那么EntityManager的相对URL是localhost:53180 / HotTowel / Index + / breeze / Breeze。
要更正此问题,请将EntityManager路径更改为以下内容:
var mgr = new breeze.EntityManager('breeze/Breeze');