Il est possible de construire un tableau en jquery / javascript pour l'envoyer à mon contrôleur c #?
Je reçois une liste d'employés parmi un multiple de sélection, je peux les alerter comme ceci:
$.ajax({
type: 'POST',
dataType: 'json',
url: '/MyAjaxRoute',
data: { arraytosend: arraybuildInJS },
success: function (response) {
if (response.success) {
alert('yes');
}
},
Mon script:
$('#check').on('click', function () {
$("#liste").find("option:selected").each(function () { alert($(this).text()); });
});
3 Réponses :
Je suppose que push est ce que vous recherchez.
var arraybuildInJS = [];
$('#check').on('click', function () {
$("#liste").find("option:selected").each(function () { arraybuildInJS.push($(this).text()); });
});
N'oubliez pas que vous devez vous attendre à un Enumerable de chaîne dans votre contrôleur. Comme vous ne le codez pas, essayez de faire correspondre les objets.
Commencez par créer une action dans votre contrôleur en tant que:
var array = [];
$('#check').on('click', function () {
$("#liste").find("option:selected").each(function () {
array.push($(this).text)
});
$.ajax({
type: 'POST',
dataType: 'json',
url: '@Url.Action("SaveArrayData", "MyController")',
data: { myData: array },
success: function (response) {
if (response.success) {
array = [];//empty the array you can also use array.length = 0
alert('yes');
}
}
});
});
Ensuite, dans votre code js, vous pouvez faire ce qui suit:
public JsonResult SaveArrayData(List<string> myData)
{
if(myData.Count == 0) return Json(new {success = false});
//do something with myData
return Json(new {success = true});
}
Merci pour vos réponses, je peux envoyer mes données avec succès mais je ne trouve pas le moyen de les analyser dans mon contrôleur c #
public ActionResult GetAjaxSession(string searchequipe)
{
if (searchequipe != null)
{
var equipe_decode = HttpUtility.UrlDecode(searchequipe);
// how to parse my json variable : searchequipe ?
return Json(new { success = true }, JsonRequestBehavior.AllowGet);
}
return null;
}
où est votre code de contrôleur?
je ne code pas le code du contrôleur en fait
utilisez cette var ajaxResult = [];
utilisez stackoverflow.com/questions/38041679/…