J'essaie de passer deux paramètres sur un appel ajax. J'ai déjà essayé plusieurs méthodes suggérées sur StakeOverflow mais aucune n'a fonctionné. Voici ma signature de la méthode sur le contrôleur:Plusieurs paramètres sur jquery ajax call asp.net
[HttpPost]
public ActionResult UploadFile(HttpPostedFileBase[] files, string[] usersToShare)
Voici ma fonction:
function uploadFile() {
var formData = new FormData();
var totalFiles = document.getElementById("files").files.length;
for (var i = 0; i < totalFiles; i++) {
var file = document.getElementById("files").files[i];
formData.append("files", file);
}
//get the selected usernames (email) to share the file
var selectedUsers = [];
$("#costumerUsersListSelect :selected").each(function() {
selectedUsers.push($(this).val());
});
$.ajax({
type: 'post',
url: '/ManageFiles/UploadFile',
data: "files=" + formData + "usersToShare=" + selectedUsers,
dataType: 'json',
contentType: false,
processData: false,
success: function (data) {
},
error: function (error) {
}
});
}
Je veux passer au contrôleur du formData et les selectedUsers. Si je passe juste le formData (Data: formData) tout fonctionne mais je dois aussi passer les selectedUsers.
Voici ce que je l'ai déjà essayé sans succès:
data: JSON.stringify({ files: formData, usersToShare: selectedUsers }),
data: { files: formData, usersToShare: JSON.stringify(selectedUsers)},
data: "files=" + formData + "&usersToShare=" + selectedUsers,
data: "files=" + formData + "usersToShare=" + selectedUsers,
Je ne sais pas si cela est un problème de syntaxe.
Merci d'avance pour toute aide.
dans votre code derrière dans le dossier de modèle créer un objet à la demande et d'utiliser son –