Comment puis-je envoyer un tableau int de $ .ajax à c # mvc?
$.ajax({
url: <Url of the action>,
type: "POST",
data: JSON.stringify([1,2,3]),
dataType: "json",
contentType: 'application/json; charset=utf-8'
});
et dans l'action.
public ActionResult ReceiveIntArray(int[] ints)
{
...
}
mVC devrait analyser le JSON automatiquement.
découvrez cette question.
Essayez la solution de cette question :
Définissez la propriété
traditional
sur true avant de passer l'appel get. c'est à dire.:jQuery.ajaxSettings.traditional = true $.get('/controller/MyAction', { vals: arrayOfValues }, function (data) { ... }
Je le fais avec un simple élément input:hidden
<input type="hidden" name="elements" value='@String.Join(",", ViewBag.MyArray)' />
Et dans le code JavaScript, je le passe en chaîne:
$.ajax({
type: "POST",
url: '/Controller/Method',
data:
{
recipients: $("input[name=elements]").val()
},
traditional: true,
success: updateSelected
});
Et enfin, je viens de Split
les éléments comme celui-ci:
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult Method(string elements)
{
IList<long> selected = elements.Split<long>(',');
...
}
Essayez cette solution:
var Array = [10, 20, 30];
$.ajax({
type: "Post",
datatype: "Json",
url: <Url of the action>,
data: JSON.stringify(Array),
contentType: 'application/json; charset=utf-8',
});