运行我的ajax函数时会出现500错误

时间:2016-03-01 18:04:43

标签: javascript jquery json ajax model-view-controller

我是MVC新手并在我的网站上试用ajax功能。每当我运行我的ajax函数时,它会在警报中返回500。 这是我的控制器代码

$('.b1').click(function () {
    $.ajax({      
        type: "POST",
        dataType: 'json',
        url: '@Url.Action("JsonNewsfeed", "Home")',
        data:"{ id: 5}", 
        success: function (data) {
            alert(data);  
        },
        error: function (response) {
            alert(response.status);  
        }
    }); 
});

这是我的Jquery ajax函数

announcementName= test

2 个答案:

答案 0 :(得分:0)

尝试纠正你的ajax请求... 像URL ...(url:'Url.Action(“JsonNewsfeed”,“Home”)')
data(data:{id:id})(如果需要,也检查一下)

这里是参考文献..

  

文档:http://api.jquery.com/jquery.ajax/

答案 1 :(得分:0)

public ActionResult JsonNewsfeed(int id)
{
    try 
    {
      ....logic here....
      return Json(data, JsonRequestBehavior.AllowGet);
    }
    catch (Exception ex)
    {
        //TODO: log exception
        return new HttpStatusCodeResult(401, ex.Message);
    }
}

您也可以这样返回:

return Content(jsonObject.ToString(), "application/json");

return Content("Your message",...

然后在你的ajax调用中将成功更改为:

 $.ajax({
        type: "POST",
        dataType: "json",
        contentType: "application/json; charset=utf-8",
        url: "/someDir/someAjaxControllerMethod",
        data: jStr,
        success: function (json) {
            ...do something...
            var s = JSON.stringify(json);
            alert(s);
        },
        error: function (event) {
            alert(event.statusText);
        }
    });