2014-02-16 27 views
1

我有$獲得調用我的C# - MVC - Angular Js Proj。 的請求的URL是不正確的我和路由在計算機

$http.get('../Home/GetResponse').success(function (response) { 
      alert(response); 
     }); 

我應該怎麼寫鑑於我的控制器名稱爲「HomeController的」 URL和功能「的GetResponse」根PROJ文件夾?

感謝。

+0

嗨!沒關係 。我將html文件替換爲cshtml並從proj運行它 - no by file .. – Shira

回答

0

用途:

$http.get('Home/GetResponse').success(function (response) { 
      alert(response); 
     }); 
+0

這不起作用。我得到url:file:/// C:/ Users//Documents/Visual%20Studio%202010/Projects/MyProj/MyProj/Views/Home /〜/ Home/GetResponse – Shira

+0

$ http.get('Home/GetResponse' ).success(函數(響應){alert(response); }); –

+0

不好。 file:/// C:/ Users//Documents/Visual%20Studio%202010/Projects/MyProj/MyProj/Views/Home/Home/GetResponse – Shira

0

通過使用$ http.get你正在一個HTTP請求。該請求只能由Web服務器處理。

你應該在IIS中承載您的asp.net MVC的網站和你的$ http.get應該沿着

http://localhost/Home/GetResponse

現在你正試圖使一個HTTP請求到線路使用地址文件系統上的文件不起作用。它會希望找到一個名爲Home的文件夾和一個名爲GetResponse的文件。

只有IIS能夠加載可以將路由(在本例中爲/ Home/GetResponse)的http模塊加載到控制器上的操作。

+0

在這種情況下,我將獲取拒絕訪問權限,因爲它是跨域調用fom JS。 – Shira

+0

您的angularjs代碼是否屬於同一個mvc網站?如果是這樣,您還應該通過Web服務器加載網頁,而不是文件系統。您也可以使用Visual Studio內置的Web服務器。這可以通過編輯Web項目的屬性進行配置。請注意,visual studio的服務器使用的端口不會是默認的80. –

+0

我很高興它的工作。確保你標記正確的答案,以幫助其他可能有同樣問題的人。 –

0
$http.get(baseurl+'Home/GetResponse').success(function (response) { 
      alert(response); 
     }); 

只是在佈局頁中添加的BaseURL作爲

VAR [email protected]( 「〜/」);