How to Receive Ajax Data values from Controller in asp mvc
26,046
Your ActionResult is GET
And you have no input parameter for your ActionResult so either change those or see below:
<script>
$('#inline-username').click(function () {
var comments = $('#inline-username').val();
//var selectedId = $('#hdnSelectedId').val();
$.ajax({
url: /ControllerName/ActionName
dataType: "json",
type: "GET",
contentType: 'application/json; charset=utf-8', //define a contentType of your request
cache: false,
data: { test: comments },
success: function (data) {
// data is your result from controller
if (data.success) {
alert(data.message);
}
},
error: function (xhr) {
alert('error');
}
});
});
Then within your controller:
public ActionResult UpdateOrder(string test)
{
// some code
return Json(new { success = true, message = "Order updated successfully" }, JsonRequestBehavior.AllowGet);
}
Update
Remember if you want to use POST
then action you are calling has to be [HttpPost]
like:
[HttpPost]
public ActionResult Example()
When there is no HTTP above your ActionResult Then Its By Default Get
.
Author by
Mohammed AlAamri
Updated on September 15, 2020Comments
-
Mohammed AlAamri over 3 years
using the following script, I am trying to access the variables being sent using data in the ajax function but I couldn't.
<script> $('#inline-username').click(function () { var comments = $('#inline-username').val(); //var selectedId = $('#hdnSelectedId').val(); $.ajax({ url: '@Url.Action("UpdateOrder")', // to get the right path to controller from TableRoutes of Asp.Net MVC dataType: "json", //to work with json format type: "POST", //to do a post request contentType: 'application/json; charset=utf-8', //define a contentType of your request cache: false, //avoid caching results data: { test: $(this).text() }, // here you can pass arguments to your request if you need success: function (data) { // data is your result from controller if (data.success) { alert(data.message); } }, error: function (xhr) { alert('error'); } }); });
here is the action in the controller
public ActionResult UpdateOrder() { // some code var test = Request.Form["test"]; return Json(new { success = true, message = "Order updated successfully" }, JsonRequestBehavior.AllowGet); }
I tried
Request.Form["test"]
but the value of it is null. how should I receive the objects ofdata
? -
Masoud Andalibi almost 7 years@MohammedAlAamri Glad it did mate :)