Parameter passed to Core Controller always null
I am upgrading mvc application to .Net Core and am having difficulty passing a string value via ajax to the controller. I have tried various solutions I found on the web ([FormBody], prefixing with "=", and some others), but no luck. The value is always null. What has changed in Core that I need to fix?
Thanks!
var result = "";
$.ajax({
url: "/system/loadchildrenaccounts/",
type: "POST",
data: JSON.stringify({ "parentID": "12345" }),
contentType: 'application/json; charset=utf-8',
success: function (data) {
result = data;
},
done: function (data) {
result = data;
},
fail: function (data) {
result = data;
},
error: function (jqXHR, textStatus, errorThrown) {
//alert('request failed :' + errorThrown);
}
});
public string LoadChildrenAccounts(string parentID)
{
using (zBestContext db = new zBestContext())
{
List<Generic> s = db.Accounts.Where(a => a.ParentAccountID == parentID)
.Select(a => new Generic { LabelOrID = a.AccountID, Description = a.Company })
.OrderBy(a => a.Description)
.ToList();
Generic item = new Generic();
item.LabelOrID = "";
item.Description = "*** Company ***";
s.Insert(0, item);
return s.toJSON();
}
}
.net ajax string null core
add a comment |
I am upgrading mvc application to .Net Core and am having difficulty passing a string value via ajax to the controller. I have tried various solutions I found on the web ([FormBody], prefixing with "=", and some others), but no luck. The value is always null. What has changed in Core that I need to fix?
Thanks!
var result = "";
$.ajax({
url: "/system/loadchildrenaccounts/",
type: "POST",
data: JSON.stringify({ "parentID": "12345" }),
contentType: 'application/json; charset=utf-8',
success: function (data) {
result = data;
},
done: function (data) {
result = data;
},
fail: function (data) {
result = data;
},
error: function (jqXHR, textStatus, errorThrown) {
//alert('request failed :' + errorThrown);
}
});
public string LoadChildrenAccounts(string parentID)
{
using (zBestContext db = new zBestContext())
{
List<Generic> s = db.Accounts.Where(a => a.ParentAccountID == parentID)
.Select(a => new Generic { LabelOrID = a.AccountID, Description = a.Company })
.OrderBy(a => a.Description)
.ToList();
Generic item = new Generic();
item.LabelOrID = "";
item.Description = "*** Company ***";
s.Insert(0, item);
return s.toJSON();
}
}
.net ajax string null core
add a comment |
I am upgrading mvc application to .Net Core and am having difficulty passing a string value via ajax to the controller. I have tried various solutions I found on the web ([FormBody], prefixing with "=", and some others), but no luck. The value is always null. What has changed in Core that I need to fix?
Thanks!
var result = "";
$.ajax({
url: "/system/loadchildrenaccounts/",
type: "POST",
data: JSON.stringify({ "parentID": "12345" }),
contentType: 'application/json; charset=utf-8',
success: function (data) {
result = data;
},
done: function (data) {
result = data;
},
fail: function (data) {
result = data;
},
error: function (jqXHR, textStatus, errorThrown) {
//alert('request failed :' + errorThrown);
}
});
public string LoadChildrenAccounts(string parentID)
{
using (zBestContext db = new zBestContext())
{
List<Generic> s = db.Accounts.Where(a => a.ParentAccountID == parentID)
.Select(a => new Generic { LabelOrID = a.AccountID, Description = a.Company })
.OrderBy(a => a.Description)
.ToList();
Generic item = new Generic();
item.LabelOrID = "";
item.Description = "*** Company ***";
s.Insert(0, item);
return s.toJSON();
}
}
.net ajax string null core
I am upgrading mvc application to .Net Core and am having difficulty passing a string value via ajax to the controller. I have tried various solutions I found on the web ([FormBody], prefixing with "=", and some others), but no luck. The value is always null. What has changed in Core that I need to fix?
Thanks!
var result = "";
$.ajax({
url: "/system/loadchildrenaccounts/",
type: "POST",
data: JSON.stringify({ "parentID": "12345" }),
contentType: 'application/json; charset=utf-8',
success: function (data) {
result = data;
},
done: function (data) {
result = data;
},
fail: function (data) {
result = data;
},
error: function (jqXHR, textStatus, errorThrown) {
//alert('request failed :' + errorThrown);
}
});
public string LoadChildrenAccounts(string parentID)
{
using (zBestContext db = new zBestContext())
{
List<Generic> s = db.Accounts.Where(a => a.ParentAccountID == parentID)
.Select(a => new Generic { LabelOrID = a.AccountID, Description = a.Company })
.OrderBy(a => a.Description)
.ToList();
Generic item = new Generic();
item.LabelOrID = "";
item.Description = "*** Company ***";
s.Insert(0, item);
return s.toJSON();
}
}
.net ajax string null core
.net ajax string null core
asked Nov 19 '18 at 16:14
Graham Davis
1
1
add a comment |
add a comment |
1 Answer
1
active
oldest
votes
Your controller action (that I am assuming is configured to accept POST requests)
public string LoadChildrenAccounts(string parentID)
accepts a bare string as parameter but you are POSTing an object with a property of type string ({ "parentID": "12345" }
).
Try changing data: stringify({ "parentID": "12345" })
to data: JSON.stringify("12345")
Yes, there is a [HttpPost] attribute on the controller action. Tried your suggestion, but no luck :( I did however change the procedure to httpGet and it worked: [HttpGet] public string LoadChildrenAccounts(string id) { ***Code Stuff Here *** }
– Graham Davis
Nov 21 '18 at 2:39
add a comment |
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',
autoActivateHeartbeat: false,
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
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53378695%2fparameter-passed-to-core-controller-always-null%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
Your controller action (that I am assuming is configured to accept POST requests)
public string LoadChildrenAccounts(string parentID)
accepts a bare string as parameter but you are POSTing an object with a property of type string ({ "parentID": "12345" }
).
Try changing data: stringify({ "parentID": "12345" })
to data: JSON.stringify("12345")
Yes, there is a [HttpPost] attribute on the controller action. Tried your suggestion, but no luck :( I did however change the procedure to httpGet and it worked: [HttpGet] public string LoadChildrenAccounts(string id) { ***Code Stuff Here *** }
– Graham Davis
Nov 21 '18 at 2:39
add a comment |
Your controller action (that I am assuming is configured to accept POST requests)
public string LoadChildrenAccounts(string parentID)
accepts a bare string as parameter but you are POSTing an object with a property of type string ({ "parentID": "12345" }
).
Try changing data: stringify({ "parentID": "12345" })
to data: JSON.stringify("12345")
Yes, there is a [HttpPost] attribute on the controller action. Tried your suggestion, but no luck :( I did however change the procedure to httpGet and it worked: [HttpGet] public string LoadChildrenAccounts(string id) { ***Code Stuff Here *** }
– Graham Davis
Nov 21 '18 at 2:39
add a comment |
Your controller action (that I am assuming is configured to accept POST requests)
public string LoadChildrenAccounts(string parentID)
accepts a bare string as parameter but you are POSTing an object with a property of type string ({ "parentID": "12345" }
).
Try changing data: stringify({ "parentID": "12345" })
to data: JSON.stringify("12345")
Your controller action (that I am assuming is configured to accept POST requests)
public string LoadChildrenAccounts(string parentID)
accepts a bare string as parameter but you are POSTing an object with a property of type string ({ "parentID": "12345" }
).
Try changing data: stringify({ "parentID": "12345" })
to data: JSON.stringify("12345")
answered Nov 19 '18 at 16:25


Alberto
11.6k63444
11.6k63444
Yes, there is a [HttpPost] attribute on the controller action. Tried your suggestion, but no luck :( I did however change the procedure to httpGet and it worked: [HttpGet] public string LoadChildrenAccounts(string id) { ***Code Stuff Here *** }
– Graham Davis
Nov 21 '18 at 2:39
add a comment |
Yes, there is a [HttpPost] attribute on the controller action. Tried your suggestion, but no luck :( I did however change the procedure to httpGet and it worked: [HttpGet] public string LoadChildrenAccounts(string id) { ***Code Stuff Here *** }
– Graham Davis
Nov 21 '18 at 2:39
Yes, there is a [HttpPost] attribute on the controller action. Tried your suggestion, but no luck :( I did however change the procedure to httpGet and it worked: [HttpGet] public string LoadChildrenAccounts(string id) { ***Code Stuff Here *** }
– Graham Davis
Nov 21 '18 at 2:39
Yes, there is a [HttpPost] attribute on the controller action. Tried your suggestion, but no luck :( I did however change the procedure to httpGet and it worked: [HttpGet] public string LoadChildrenAccounts(string id) { ***Code Stuff Here *** }
– Graham Davis
Nov 21 '18 at 2:39
add a comment |
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Some of your past answers have not been well-received, and you're in danger of being blocked from answering.
Please pay close attention to the following guidance:
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53378695%2fparameter-passed-to-core-controller-always-null%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
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