2013-01-21 32 views
0

我现在正在使用Kendo窗口,他们有一个ajax方法,用于将新内容加载到窗口中。这适用于我的本地主机,但由于某些原因停止时,我发布到远程服务器的网站。内容只是从来没有加载,我已经调试了服务器上的JavaScript和Ajax调用正在进行。任何帮助,将不胜感激。Ajax刷新不能远程工作

这是我正在使用的代码。

@(Html.Kendo().Window() 
    .Name("window") 
    .Title("test") 
    .Actions(Image => Image 
     .Custom("custom") 
     .Minimize() 
     .Maximize() 
     .Close() 
     ) 
    //.LoadContentFrom(@Model.selectedModule, "Modules") 
    .Draggable() 
    .Resizable() 
    .Width(500) 
    .Modal(true) 
    .Height(500) 
    .Visible(false) 
    ) 

function test(link) { 
    var use = link.title; 
    var dialog = $("#window").data("kendoWindow"); 
    dialog.refresh({ 
     url: "/Modules/" + use 
    }); 
    setTimeout("open()", 200); 

}; 

function open() { 
    var dialog = $("#window").data("kendoWindow"); 
    dialog.center(); 
    dialog.open(); 
} 
</Script> 

我到底拿了建议,并替换为URL的辅助方法。代码块如下。

function test(link) { 
    var use = link.data('url'); 
    var dialog = $("#window").data("kendoWindow"); 
    dialog.refresh({ 
     url: use 
    }); 
    setTimeout("open()", 200); 

回答

1

对我来说,这听起来像使用部署环境时URL不解决。你可以尝试使用MVC提供的URL助手吗?您也可以使用浏览器的网络工具来查看服务器实际响应的内容。

+0

好吧,所以我检查了你说的网络响应,并找出问题所在。该网站的一般路径应该是www.mysebsite.com/siteName/controller/action。但是,当我使用Ajax方法时,站点名称实际上并未出现在调用中,因此它尝试调用www.mywebsite/controller/action。有没有办法解决这个路由设置,以便它默认为远程站点名称? – Ken

+0

正如我在重播中提到的,您可以使用Url助手。 http://msdn.microsoft.com/en-us/library/system.web.mvc.urlhelper(v=vs.108).aspx –

+0

我试图避免它,但最终我改变了它,代码我用上面贴出来。感谢您的建议 – Ken