.NET MVC3中的JSON:500(内部服务器服务器错误)

我正在尝试使用一些JSONfunction,它基本上就像它可以一样简单但由于某种原因我在控制台上遇到500内部服务器错误,应用程序永远不会到达控制器。 我已经尝试过几乎所有东西,但是代码非常简单,我已经放弃了尝试通过反复阅读相同的几行找到错误。

这是我的脚本:

$("#saveAdvisorOption").click(function () { // Create a JSON object: alert("OK"); var OptionsModel = { "AdvisorNewsFeed": $("#advisorCheckBox").val() }; alert($(OptionsModel.AdvisorNewsFeed)); $.post("/Account/ChangeOptionForAdvisor", OptionsModel, function (data) { }); }); 

这是我的模型:

  public class OptionsModel { public string AdvisorNewsFeed { get; set; } public OptionsModel(string AdvisorNewsFeed) { this.AdvisorNewsFeed = AdvisorNewsFeed; } } 

}

这是我的控制器:

  public class AccountController : Controller { [HttpPost] public ActionResult ChangeOptionForAdvisor( OptionsModel option) { //Return something return Json(option, JsonRequestBehavior.AllowGet); } 

我在return语句中有一个断点,但它永远不会运行。

任何帮助是极大的赞赏。

您可能只需OptionsModel类添加一个空构造函数。 没有空构造函数,MVC无法实例化该类。

@scottm遇到了重大问题。

那说:

你可能需要告诉jQuery你期望得到一个json对象:

 $.post("/Account/ChangeOptionForAdvisor", OptionsModel, function (data) {...}); 

对此:

 $.post("/Account/ChangeOptionForAdvisor", OptionsModel, function (data) { ...}, 'json'); //<======