我在一个基于John Papa的HotTowel的项目中使用breeze时遇到了问题。我对breeze进行了如下配置:
var mgr = new breeze.EntityManager('breeze/Breeze');一切正常,但是在我将项目属性Start Action从Current Page改为Specific Page: HotTowel/Index的情况下,breeze不能正常工作。
我已经使用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,但它不能作为远程服务名。
由于我是web的新手,它可能与微风无关。问题是为什么ajax调用(或微风)依赖于项目如何激活?
发布于 2014-03-20 23:35:05
在您的配置中添加一个/字符,以相对于基目录执行请求:
var mgr = new breeze.EntityManager('/breeze/Breeze');发布于 2013-06-27 20:17:32
发生这种情况的原因是因为您为EntityManager指定了相对路径,如果您的url是localhost:53180/HotTowel/索引,那么EntityManager的相对url是localhost:53180/HotTowel/Index + /breeze/Breeze。
要解决此问题,请将您的EntityManager路径更改为以下路径:
var mgr = new breeze.EntityManager('breeze/Breeze');https://stackoverflow.com/questions/17337292
复制相似问题