How To Post Json Data To Controller Without a Model in .net core











up vote
1
down vote

favorite












There is a huge data stored in grid that comes from a sql query joined more than ona table. Data type is Json. I filtered data and then want to sent filtered data to controller. But how it can be?
Here is test json data in javascript block:



var jsonData = {
"FirstName": "John",
"LastName": "Doe",
"DoB": "01/01/1970" };


And this is my javascript function:



function submitForm() {
var user = jsonData;

jQuery.ajax({
type: "POST",
url: "@Url.Action("GetJsonData", "Account")",
dataType: "json",
contentType: "application/json; charset=utf-8",
data: JSON.stringify(user),
success: function (data) { alert(data); },
failure: function (errMsg) {
alert(errMsg);
}
});
}


How to get the Json data in controller? Here is my [HttpPost] method:



    [HttpPost]
public IActionResult GetJsonData(String user)
{
//...
return null;
}


user gets null.. Should i change type "String" in method or something else?










share|improve this question






















  • is this JavaScript inside a Razor view? It needs to be, otherwise the @Url.Action won't work.
    – Wim Ombelets
    Nov 21 at 14:33










  • No, it's not about Razor View. Because i point a breakpoint for GetJsonData method, and the method works...
    – subudu
    Nov 21 at 14:38















up vote
1
down vote

favorite












There is a huge data stored in grid that comes from a sql query joined more than ona table. Data type is Json. I filtered data and then want to sent filtered data to controller. But how it can be?
Here is test json data in javascript block:



var jsonData = {
"FirstName": "John",
"LastName": "Doe",
"DoB": "01/01/1970" };


And this is my javascript function:



function submitForm() {
var user = jsonData;

jQuery.ajax({
type: "POST",
url: "@Url.Action("GetJsonData", "Account")",
dataType: "json",
contentType: "application/json; charset=utf-8",
data: JSON.stringify(user),
success: function (data) { alert(data); },
failure: function (errMsg) {
alert(errMsg);
}
});
}


How to get the Json data in controller? Here is my [HttpPost] method:



    [HttpPost]
public IActionResult GetJsonData(String user)
{
//...
return null;
}


user gets null.. Should i change type "String" in method or something else?










share|improve this question






















  • is this JavaScript inside a Razor view? It needs to be, otherwise the @Url.Action won't work.
    – Wim Ombelets
    Nov 21 at 14:33










  • No, it's not about Razor View. Because i point a breakpoint for GetJsonData method, and the method works...
    – subudu
    Nov 21 at 14:38













up vote
1
down vote

favorite









up vote
1
down vote

favorite











There is a huge data stored in grid that comes from a sql query joined more than ona table. Data type is Json. I filtered data and then want to sent filtered data to controller. But how it can be?
Here is test json data in javascript block:



var jsonData = {
"FirstName": "John",
"LastName": "Doe",
"DoB": "01/01/1970" };


And this is my javascript function:



function submitForm() {
var user = jsonData;

jQuery.ajax({
type: "POST",
url: "@Url.Action("GetJsonData", "Account")",
dataType: "json",
contentType: "application/json; charset=utf-8",
data: JSON.stringify(user),
success: function (data) { alert(data); },
failure: function (errMsg) {
alert(errMsg);
}
});
}


How to get the Json data in controller? Here is my [HttpPost] method:



    [HttpPost]
public IActionResult GetJsonData(String user)
{
//...
return null;
}


user gets null.. Should i change type "String" in method or something else?










share|improve this question













There is a huge data stored in grid that comes from a sql query joined more than ona table. Data type is Json. I filtered data and then want to sent filtered data to controller. But how it can be?
Here is test json data in javascript block:



var jsonData = {
"FirstName": "John",
"LastName": "Doe",
"DoB": "01/01/1970" };


And this is my javascript function:



function submitForm() {
var user = jsonData;

jQuery.ajax({
type: "POST",
url: "@Url.Action("GetJsonData", "Account")",
dataType: "json",
contentType: "application/json; charset=utf-8",
data: JSON.stringify(user),
success: function (data) { alert(data); },
failure: function (errMsg) {
alert(errMsg);
}
});
}


How to get the Json data in controller? Here is my [HttpPost] method:



    [HttpPost]
public IActionResult GetJsonData(String user)
{
//...
return null;
}


user gets null.. Should i change type "String" in method or something else?







javascript jquery json ajax .net-core






share|improve this question













share|improve this question











share|improve this question




share|improve this question










asked Nov 21 at 14:24









subudu

939




939












  • is this JavaScript inside a Razor view? It needs to be, otherwise the @Url.Action won't work.
    – Wim Ombelets
    Nov 21 at 14:33










  • No, it's not about Razor View. Because i point a breakpoint for GetJsonData method, and the method works...
    – subudu
    Nov 21 at 14:38


















  • is this JavaScript inside a Razor view? It needs to be, otherwise the @Url.Action won't work.
    – Wim Ombelets
    Nov 21 at 14:33










  • No, it's not about Razor View. Because i point a breakpoint for GetJsonData method, and the method works...
    – subudu
    Nov 21 at 14:38
















is this JavaScript inside a Razor view? It needs to be, otherwise the @Url.Action won't work.
– Wim Ombelets
Nov 21 at 14:33




is this JavaScript inside a Razor view? It needs to be, otherwise the @Url.Action won't work.
– Wim Ombelets
Nov 21 at 14:33












No, it's not about Razor View. Because i point a breakpoint for GetJsonData method, and the method works...
– subudu
Nov 21 at 14:38




No, it's not about Razor View. Because i point a breakpoint for GetJsonData method, and the method works...
– subudu
Nov 21 at 14:38












1 Answer
1






active

oldest

votes

















up vote
1
down vote



accepted










Since user is a string, you could try to create an object with a property user:



jQuery.ajax({
type: "POST",
url: "@Url.Action("GetJsonData", "Account")",
dataType: "json",
contentType: "application/json; charset=utf-8",
data: {
user: JSON.stringify(user)
},
success: function (data) { alert(data); },
failure: function (errMsg) {
alert(errMsg);
}
});




Or using FormData:



var formData = new FormData();
formData.append('user', JSON.stringify(user));

jQuery.ajax({
type: "POST",
url: "@Url.Action("GetJsonData", "Account")",
contentType: false,
processData: false,
data: formData,
success: function (data) { alert(data); },
failure: function (errMsg) {
alert(errMsg);
}
});





share|improve this answer























  • I created an object with a property user but it still returns null...
    – subudu
    Nov 21 at 14:32










  • @sudu That's because of return null; in the method GetJsonData.
    – Tân Nguyễn
    Nov 21 at 14:33










  • No, i mean GetJsonData parameter's user returns null
    – subudu
    Nov 21 at 14:36






  • 1




    @sudu Oh, sorry. I've updated the second way, you can try again. I've removed dataType property, and added 2 properties contentType and processData.
    – Tân Nguyễn
    Nov 21 at 14:43








  • 1




    Thanks a lot @Tân Nguyễn, updated way solved my proplem :)
    – subudu
    Nov 21 at 14:46











Your Answer






StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");

StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);

StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});

function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});


}
});














 

draft saved


draft discarded


















StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53414207%2fhow-to-post-json-data-to-controller-without-a-model-in-net-core%23new-answer', 'question_page');
}
);

Post as a guest















Required, but never shown

























1 Answer
1






active

oldest

votes








1 Answer
1






active

oldest

votes









active

oldest

votes






active

oldest

votes








up vote
1
down vote



accepted










Since user is a string, you could try to create an object with a property user:



jQuery.ajax({
type: "POST",
url: "@Url.Action("GetJsonData", "Account")",
dataType: "json",
contentType: "application/json; charset=utf-8",
data: {
user: JSON.stringify(user)
},
success: function (data) { alert(data); },
failure: function (errMsg) {
alert(errMsg);
}
});




Or using FormData:



var formData = new FormData();
formData.append('user', JSON.stringify(user));

jQuery.ajax({
type: "POST",
url: "@Url.Action("GetJsonData", "Account")",
contentType: false,
processData: false,
data: formData,
success: function (data) { alert(data); },
failure: function (errMsg) {
alert(errMsg);
}
});





share|improve this answer























  • I created an object with a property user but it still returns null...
    – subudu
    Nov 21 at 14:32










  • @sudu That's because of return null; in the method GetJsonData.
    – Tân Nguyễn
    Nov 21 at 14:33










  • No, i mean GetJsonData parameter's user returns null
    – subudu
    Nov 21 at 14:36






  • 1




    @sudu Oh, sorry. I've updated the second way, you can try again. I've removed dataType property, and added 2 properties contentType and processData.
    – Tân Nguyễn
    Nov 21 at 14:43








  • 1




    Thanks a lot @Tân Nguyễn, updated way solved my proplem :)
    – subudu
    Nov 21 at 14:46















up vote
1
down vote



accepted










Since user is a string, you could try to create an object with a property user:



jQuery.ajax({
type: "POST",
url: "@Url.Action("GetJsonData", "Account")",
dataType: "json",
contentType: "application/json; charset=utf-8",
data: {
user: JSON.stringify(user)
},
success: function (data) { alert(data); },
failure: function (errMsg) {
alert(errMsg);
}
});




Or using FormData:



var formData = new FormData();
formData.append('user', JSON.stringify(user));

jQuery.ajax({
type: "POST",
url: "@Url.Action("GetJsonData", "Account")",
contentType: false,
processData: false,
data: formData,
success: function (data) { alert(data); },
failure: function (errMsg) {
alert(errMsg);
}
});





share|improve this answer























  • I created an object with a property user but it still returns null...
    – subudu
    Nov 21 at 14:32










  • @sudu That's because of return null; in the method GetJsonData.
    – Tân Nguyễn
    Nov 21 at 14:33










  • No, i mean GetJsonData parameter's user returns null
    – subudu
    Nov 21 at 14:36






  • 1




    @sudu Oh, sorry. I've updated the second way, you can try again. I've removed dataType property, and added 2 properties contentType and processData.
    – Tân Nguyễn
    Nov 21 at 14:43








  • 1




    Thanks a lot @Tân Nguyễn, updated way solved my proplem :)
    – subudu
    Nov 21 at 14:46













up vote
1
down vote



accepted







up vote
1
down vote



accepted






Since user is a string, you could try to create an object with a property user:



jQuery.ajax({
type: "POST",
url: "@Url.Action("GetJsonData", "Account")",
dataType: "json",
contentType: "application/json; charset=utf-8",
data: {
user: JSON.stringify(user)
},
success: function (data) { alert(data); },
failure: function (errMsg) {
alert(errMsg);
}
});




Or using FormData:



var formData = new FormData();
formData.append('user', JSON.stringify(user));

jQuery.ajax({
type: "POST",
url: "@Url.Action("GetJsonData", "Account")",
contentType: false,
processData: false,
data: formData,
success: function (data) { alert(data); },
failure: function (errMsg) {
alert(errMsg);
}
});





share|improve this answer














Since user is a string, you could try to create an object with a property user:



jQuery.ajax({
type: "POST",
url: "@Url.Action("GetJsonData", "Account")",
dataType: "json",
contentType: "application/json; charset=utf-8",
data: {
user: JSON.stringify(user)
},
success: function (data) { alert(data); },
failure: function (errMsg) {
alert(errMsg);
}
});




Or using FormData:



var formData = new FormData();
formData.append('user', JSON.stringify(user));

jQuery.ajax({
type: "POST",
url: "@Url.Action("GetJsonData", "Account")",
contentType: false,
processData: false,
data: formData,
success: function (data) { alert(data); },
failure: function (errMsg) {
alert(errMsg);
}
});






share|improve this answer














share|improve this answer



share|improve this answer








edited Nov 21 at 14:42

























answered Nov 21 at 14:29









Tân Nguyễn

1




1












  • I created an object with a property user but it still returns null...
    – subudu
    Nov 21 at 14:32










  • @sudu That's because of return null; in the method GetJsonData.
    – Tân Nguyễn
    Nov 21 at 14:33










  • No, i mean GetJsonData parameter's user returns null
    – subudu
    Nov 21 at 14:36






  • 1




    @sudu Oh, sorry. I've updated the second way, you can try again. I've removed dataType property, and added 2 properties contentType and processData.
    – Tân Nguyễn
    Nov 21 at 14:43








  • 1




    Thanks a lot @Tân Nguyễn, updated way solved my proplem :)
    – subudu
    Nov 21 at 14:46


















  • I created an object with a property user but it still returns null...
    – subudu
    Nov 21 at 14:32










  • @sudu That's because of return null; in the method GetJsonData.
    – Tân Nguyễn
    Nov 21 at 14:33










  • No, i mean GetJsonData parameter's user returns null
    – subudu
    Nov 21 at 14:36






  • 1




    @sudu Oh, sorry. I've updated the second way, you can try again. I've removed dataType property, and added 2 properties contentType and processData.
    – Tân Nguyễn
    Nov 21 at 14:43








  • 1




    Thanks a lot @Tân Nguyễn, updated way solved my proplem :)
    – subudu
    Nov 21 at 14:46
















I created an object with a property user but it still returns null...
– subudu
Nov 21 at 14:32




I created an object with a property user but it still returns null...
– subudu
Nov 21 at 14:32












@sudu That's because of return null; in the method GetJsonData.
– Tân Nguyễn
Nov 21 at 14:33




@sudu That's because of return null; in the method GetJsonData.
– Tân Nguyễn
Nov 21 at 14:33












No, i mean GetJsonData parameter's user returns null
– subudu
Nov 21 at 14:36




No, i mean GetJsonData parameter's user returns null
– subudu
Nov 21 at 14:36




1




1




@sudu Oh, sorry. I've updated the second way, you can try again. I've removed dataType property, and added 2 properties contentType and processData.
– Tân Nguyễn
Nov 21 at 14:43






@sudu Oh, sorry. I've updated the second way, you can try again. I've removed dataType property, and added 2 properties contentType and processData.
– Tân Nguyễn
Nov 21 at 14:43






1




1




Thanks a lot @Tân Nguyễn, updated way solved my proplem :)
– subudu
Nov 21 at 14:46




Thanks a lot @Tân Nguyễn, updated way solved my proplem :)
– subudu
Nov 21 at 14:46


















 

draft saved


draft discarded



















































 


draft saved


draft discarded














StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53414207%2fhow-to-post-json-data-to-controller-without-a-model-in-net-core%23new-answer', 'question_page');
}
);

Post as a guest















Required, but never shown





















































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown

































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown







Popular posts from this blog

A CLEAN and SIMPLE way to add appendices to Table of Contents and bookmarks

Calculate evaluation metrics using cross_val_predict sklearn

Insert data from modal to MySQL (multiple modal on website)