我正在尝试解决从ASP.NET Web应用程序中的某些javascript对控制器方法的简单调用问题。在所有情况下,我从测试服务器获得500内部服务器错误响应,但从Visual Studio运行时,代码在我的localhost上正常工作。值得注意的是,在测试服务器上,应用程序未部署在服务器的根目录,而是部署在./apps/testApp。
客户端代码:
var strMethodUrl = "./Opportunities/DummyData";
$.getJSON(strMethodUrl, function (data) {
opportunities = data;
callback(opportunities);
})
// Using jQuery interface as of v1.8 (https://api.jquery.com/jquery.getjson/)
.done(function() {
var debugString = "getOpportunitiesData:$.getJSON.done";
console.log(debugString);
alert(debugString);
})
.fail(function() {
var debugString = "getOpportunitiesData:$.getJSON.fail";
console.log(debugString);
alert(debugString);
})
.always(function() {
var debugString = "getOpportunitiesData:$.getJSON.always";
console.log(debugString);
alert(debugString);
});~
控制器代码位于Visual Studio 2013项目的Controller子目录中,名为OpportunitiesConroller.cs。它包含这个虚拟t / sing方法:
// GET: Opportunties
public ActionResult DummyData()
{
var opportunities = new List<OpportunityModel>();
var opportunity = new OpportunityModel() { AdvertisementID = "ID_TEST", RankRange = "RANK_TEST", QualificationSummary = "QUAL_TEST", MissionName = "MISSION_TEST", ReportDate = DateTime.Now, EndDate = DateTime.Now, Location = "LOCATION_TEST" };
opportunities.Add(opportunity);
return this.Json(opportunities, JsonRequestBehavior.AllowGet);
}
这里添加的是路线注册:
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.IgnoreRoute("");
routes.MapRoute(
name: "Default",
url: "apps/testApp/{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
}
如上所述,从VS2013运行时,这一切都适用于本地开发机器。 然后将该项目部署到www.TESTSERVER.com/apps/testApp。
当导航到执行上述javascript的页面时,浏览器的调试器会显示动态请求的500错误(https://www.TESTSERVER.com/apps/testApp/Opportunities/DummyData)。 当我将https://www.TESTSERVER.com/apps/testApp/Opportunities/DummyData直接输入浏览器时,它还会输出错误页面:'/ apps / testApp'应用程序中的服务器错误。
更新: 感谢一些很棒的建议,我们能够启用远程服务器错误信息,结果证明以上所有内容都是真正的问题。没有机会解决问题,但错误信息是:
Parser Error
Description: An error occurred during the parsing of a resource required to service this request. Please review the following specific parse error details and modify your source file appropriately.
Parser Error Message: Could not load type 'testApp.Api.MvcApplication'.
Source Error:
Line 1: <%@ Application Codebehind="Global.asax.cs" Inherits="testApp.Api.MvcApplication" Language="C#" %>
Source File: /apps/testApp/global.asax Line: 1
有什么想法吗?
由于