2016-03-01 63 views
-3

我是新来的MVC,并尝试在我的网站的Ajax功能。每当我运行我的ajax函数时,它会返回500个警报。 这是我的控制器代码500错误来我的AJAX功能

[HttpPost] 
public ActionResult JsonNewsfeed(int id) 
{ 
    var db = new dekhosaleEntities1(); 
    sale s = db.sales.First(m => m.sale_id == id); 
    List<sale> sale1 = db.sales.ToList(); 
    saleviewmodel model = new saleviewmodel 
    { 
     currentsale = s, 
     Sales = sale1 
    }; 
    return Json(model); 
} 

这是我的jQuery的AJAX功能

$('.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); 
     } 
    }); 
}); 
+0

'data:{id:5},'WIthout'“' –

+0

仍然给出相同的错误 –

+0

500错误意味着它是您的服务器上的问题。检查你的服务器日志寻找线索。 –

回答

0

尝试纠正你的AJAX请求...... 像URL ...(网址:“Url.Action(” JsonNewsfeed”, “家”)“)
数据(数据:{ID:ID})(如果需要的支票,太)

这里是参考..

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

+0

它似乎有一个URL的问题,但我似乎无法弄清楚。 –

+0

尝试使用相同的URL,而不@ ..... –

+0

是的尝试像这样...“/首页/ JsonNewsFeed” :) –

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); 
     } 
    }); 
+0

现在警告称未发现 –

+0

尝试用URL和您要发送的数据搞乱,您使用它的方式可能有些不正确。而不是使用“@ Url.Action(‘JsonNewsfeed’,‘家’)”喜欢尝试也许“/首页/ JsonNewsFeed”,您可能需要更动任何字符串化或解析您所使用的Ajax调用发送数据。 – Blindsyde

+0

是的,网址有问题。谢谢:) –