2013-01-21 33 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