以下是工作在我的測試Web服務器上(在Windows 7 IIS 7):ASP.NET Web窗體的Web API的jQuery - 404錯誤
但完全相同的代碼給我下面的404錯誤既生產Web服務器上:
(IIS 7的Windows Server 2008和IIS 6在Windows Server 2003)
[守則]
Global.asax中路由設置:
protected void Application_Start(object sender, EventArgs e)
{
RouteTable.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{deptId}/{member}",
defaults: new { deptId = RouteParameter.Optional, member = RouteParameter.Optional}
);
}
Page.aspx jQuery的聲明:
$.ajax(
{
url: "api/Department/" + '<%= Request.QueryString["deptId"] %>',
contentType: "application/json",
dataType: "json",
success: function (data) {
alert('hello');
}
});
DepartmentController.cs GET方法:
[HttpGet]
public Department GetDepartment(int deptId)
{
var deptRepo = new DepartmentRepository();
return deptRepo.GetDepartment(deptId);
}
我瀏覽類似的很多在這裏的問題,但沒有找到答案。
爲什麼相同的代碼可以在一臺網絡服務器上工作,但不能在其他網絡服務器上工作?
在我的應用程序或IIS中需要配置什麼特別的東西嗎?
我對此很感興趣。任何幫助將不勝感激。
可能聽起來很愚蠢,但是我們得檢查一下......看起來您正在瀏覽此網址的httpS版本。如果你轉到類似於測試Web服務器屏幕截圖的常規http,它仍然是404嗎? – ethorn10
@ ethorn10感謝您的評論。我無法導航到生產Web服務器上的http。但是,我有另一個測試Web服務器,並且代碼也在http上失敗。如果https是問題,我可以做些什麼來解決這個問題? – Baxter
我懷疑https是你的問題。通常情況下,路由在其中定義了一個'action',我沒有看到一個給你,所以我不太確定這在本地是如何工作的......也許是一個Web API的東西,我還沒有意識到。 – ethorn10