2014-10-07 49 views
1

所以,我有一個Ajax調用是這樣的:在ASP.NET中,如何使AJAX調用始終保持相同的url?

$.ajax({ 
    type: "GET", 
    url: "Home/GetFullView", 
    success: function (data) { 
    $("#sched").html(data); 
    }, 
    fail: function() { 
    } 
}); 

其中,「家」是在控制器和「GetFullView」是動作。有時候這個通話有效。然而有時它會使應用程序崩潰,因爲它會嘗試這個URL:「Home/Home/GetFullView」。所以它多次添加「家」。

我怎樣才能始終如一地檢查相同的網址,而不必加倍「主頁」控制器名稱?

如果我只是使用url:「GetFullView」,它也會崩潰,因爲它尋找「Home」控制器。

+0

嘗試「〜/ Home/GetFullView」 – 2014-10-07 21:14:08

+0

您的代碼是否從家庭控制器的頁面內被調用?如果是這樣,它會使用網站的相對網址...因此,家/家/ ...廣告一個之前/之家,所以它/家 – 2014-10-07 21:14:28

+1

只是添加「/」似乎是伎倆。在這種情況下添加「〜」實際上不起作用。 – winbacker 2014-10-08 01:11:00

回答

1

引進領先/

url: "/Home/GetFullView", 
0

你需要一個local url,如:

url: "/Home/GetFullView"

0

爲了讓您的相對路徑完全合格的,使用此:

url: "~/Home/GetFullView" 

這將然後給你的r無論您是在網站還是應用程序級別,都可以使用合格的路徑。

+0

只適用於服務器控件。 – MikeSmithDev 2014-10-08 02:30:16

+0

@MikeSmithDev它肯定適用於客戶端的MVC。 – 2014-10-08 02:33:16

+0

他沒有提到他正在使用MVC。儘管MVC可能會在未明確使用Razor語法時適當地轉換URL,但在我看來,它是令人困惑的。您也可以在技術上用JavaScript以純文本格式構建Web窗體服務器標籤,並且它將被「正確」渲染(如服務器標籤將呈現爲普通的HTML標籤),但這並不是一種好的做法或向開發者清楚。 – MikeSmithDev 2014-10-08 02:51:12

相關問題