Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

To allow GET requests, set JsonRequestBehavior to AllowGet

I have bound bulk records in a Kendo UI grid. The response is returned from Json.

I am getting Error while using below format:

Problem Code : Method 1:

public JsonResult KendoserverSideDemo(int pageSize, int skip=10) {   using (var s = new KendoEntities())   {     var total = s.Students.Count();      if (total != null)     {       var data = s.Students.OrderBy(x=>x.StudentID).Skip(skip)                            .Take(pageSize).ToList();        return Json(new { total = total,                          data = data,                         JsonRequestBehavior.AllowGet });     }     else     {       return null;     }   } } 

Method 2 : Working fine using this:

public JsonResult KendoserverSideDemo(int pageSize, int skip=10) {   using (var s = new KendoEntities())   {     var total = s.Students.Count();      if (total != null)     {       var data = s.Students.OrderBy(x=>x.StudentID).Skip(skip)                            .Take(pageSize).ToList();        return Json(data, JsonRequestBehavior.AllowGet);     }     else     {       return null;     }   } } 

What is the problem in first Method 1?

like image 914
Mohamed Sahir Avatar asked Feb 13 '17 14:02

Mohamed Sahir


People also ask

What does JsonRequestBehavior AllowGet mean?

If you need to send JSON in response to a GET, you'll need to explicitly allow the behavior by using JsonRequestBehavior. AllowGet as the second parameter to the Json method. However, there is a chance a malicious user can gain access to the JSON payload through a process known as JSON Hijacking.

What is the use of JsonResult in MVC?

What is JsonResult ? JsonResult is one of the type of MVC action result type which returns the data back to the view or the browser in the form of JSON (JavaScript Object notation format).


1 Answers

You have simple typo/syntax error

return Json(new { total = total, data = data,JsonRequestBehavior.AllowGet }); 

The JsonRequestBehavior.AllowGet is the second parameter of Json - it shouldnt be part of the object

return Json(new { total = total, data = data }, JsonRequestBehavior.AllowGet); 
like image 98
Jamiec Avatar answered Oct 08 '22 05:10

Jamiec