我已經創建了以下項目Visual Studio 2010中不能訪問的WebAPI項目
前端是一個mvc4 Web應用程序和MyWebAPI是mvc4的WebAPI
我希望能夠解決從我的FrontEnd項目訪問MyWebAPI控制方法。但它不起作用,因爲它只是抱怨當我運行webAPI網址時無法找到數據。
我是否必須做更多的事情才能讓我的FrontEnd與MyWebAPI交談?
例如,我只是簡單地試圖運行這個預先生成的WebAPI控制方法
public string Get(int id)
{
return "value";
}
它不能被發現。但是,如果我將啓動項目更改爲MyWebAPI,那麼它就可以工作。所以我的問題是如何讓它可以從我的FrontEnd項目訪問MyWebAPI?
這個問題,因爲這實際上one相同,但它並不能解釋我如何可以從前端訪問的WebAPI時,它們是相同的解決方案中
編輯
$(document).ready(function() {
$("#clickMe").click(function() {
var id = $("#dataBox").val();
$.ajax({
url: "http://localhost:11982/api/Movie/GetMovie",
data: { id: id },
type: "get",
contentType: "application/json;charset=utf-8",
success: function(data) {
alert(data);
},
error: function(jqXHR, status, errorThrown) {
// alert("Error " + status + "\nError Thrown" + errorThrown + "\n" + jqXHR)
}
})
})
})
已更新2012-08-30
我更新了我的解決方案中的不同軟件包,其中包括WebAPI rc版本的WebAPI beta。現在由於某種原因,當我向任何WebAPI控制器發送表單請求或ajax請求時,它將針對表單請求響應說沒有找到這樣的控制器,並且對於ajax請求,它將永久加載而不返回響應。
以前遇到過類似問題的人嗎?
以前的解決方案是在本地IIS服務器上運行我的FrontEnd和MyWebAPI。但是,自從我更新所有軟件包後,它就停止工作了。
我現在試過了,它仍然不起作用。他們在不同的港口,但同樣的問題依然存在。我可以從該項目的視圖中訪問webAPI。但通過使用我的前端的意見,我不能。我添加了我用來獲取數據的腳本 – starcorn
這種行爲聽起來更像是路由配置的問題。爲了排除故障,如果您的計算機上安裝了IIS或IIS Express,則可以將這兩個項目作爲單獨的網站運行。在項目屬性選項卡中(雙擊項目中的「屬性」節點),選擇Web選項卡。選擇「使用本地IIS Web服務器」並輸入網站根目錄的名稱。 Visual Studio將爲您創建IIS中的網站。創建後分別測試每個網站。如果可行,你應該可以使用網站URL從FrontEnd調用MyWebAPI URL。 –
感謝它現在的作品!我更改了兩個項目的Web屬性,因此它使用IIS代替開發服務器。 – starcorn