I'm missing something here. I've got this jQuery JavaScript:
$.ajax({
type: "POST",
url: "/update-note-order",
dataType: "json",
data: {
orderedIds: orderedIds,
unixTimeMs: new Date().getTime()
}
});
Where orderedIds
is a JavaScript number array (e.g. var orderedIds = [1, 2]
).
The handling Controller
method is:
[HttpPost]
public void UpdateNoteOrder(long[] orderedIds, long unixTimeMs)
{
...
}
When I put a Debugger.Break()
in UpdateNoteOrder()
, orderedIds
is null
in the Watch window. (unixTimeMs
, however, has a numeric value.)
How do I pass the number array through $.ajax()
such that orderedIds
is a long[]
in my controller?
Just set the traditional
parameter to true
:
$.ajax({
type: "POST",
url: "/update-note-order",
dataType: "json",
traditional: true,
data: {
orderedIds: orderedIds,
unixTimeMs: new Date().getTime()
}
});
Since jquery 1.4 this parameter exists because the mechanism to serialize objects into query parameters has changed.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With