我的网站建在WebAPI后端..。这些问题发生在部署时,因为由于IIS部署/站点结构,我的Uri没有被正确格式化
错误
http://itil.mysite.com/api/Building右
http://itil.mysite.com/TestSite/api/building因此,我修改了我的http助手,使其包括一个类似于
define(function () {
var baseUri = window.AppPath;
return {
baseUri: baseUri,
defaultJSONPCallbackParam: 'callback',
get: function (url, query) {
return $.ajax(baseUri + url, { data: query });
},
...
});在我的Index.cshtml上添加了以下内容以获得根/baseUri路径的设置:
var AppPath = '@string.Format("{0}://{1}{2}", Request.Url.Scheme, Request.Url.Authority, Url.Content("~"))';
console.log('AppPath: '+AppPath);当我将baseUri路径从Index.cshtml: EG登录到控制台时,它是正确的。
AppPath: http://itil.mysite.com/TestSite/ 但是当我执行实际的api调用(从我部署的实例)时,它仍然使用旧的Uri..
http.get('api/building').done(viewInit);仍然错了
http://itil.mysite.com/api/building我的第二个想法是必须以某种方式缓存这些文件,因此我尝试了以下方法:
当我使用服务器时,代码可以工作,但我在本地IIS & Alpha测试站点上遇到了同样的问题.没有运气。
我到底该如何清除部署站点上的缓存:/这已经到了似乎有点荒谬的地步了。要么我失去了,要么“大块头”恨我。
发布于 2013-07-16 11:37:11
叹息..。我第二次被这个抓到了。我认为我的问题与MVC有关,它与Durandal部署有关:P
给大家看这篇文章的笔记。。
一旦您部署了一个Durandal项目&,如果您修改了任何现有的javascript文件或main.js。记住运行optimizer.exe.
...\App\durandal\amd\optimizer.exehttps://stackoverflow.com/questions/17672488
复制相似问题