J'ai une touche envoyant une entrée d'un champ de texte sous un formulaire à mon contrôleur MVC à l'aide d'Ajax. Je souhaite maintenant que le contrôleur renvoie 2 chaînes en tant que JSON et remplissez ces chaînes dans les entrées HTML.
vue strong> p> < / p> p>
3 Réponses :
Vous avez à tort de paramètres attribués à tort au puis modifier votre appel AJAX pour renvoyer 2 chaînes de la réponse par Utilisation de noms de propriétés: P> json () code> méthode pour renvoyer la réponse de JSONRESULT code>, car le deuxième paramètre est JSONREQUESTBehavior code> ou contenttype code>. Vous devez retourner contrôleur.json () code> réponse avec Paramètre unique Comme ceci: $("#btnGet").click(function () {
$.ajax({
type: "POST",
url: "@Url.Action("GetName", "Home"),
data: { Name: $("#txtName").val() },
success: function (result) {
$('#FirstTextFieldToFill').val(result.Name);
$('#SecondTextFieldToFill').val(result.SecondString);
},
failure: function (response) {
alert(response.responseText);
},
error: function (response) {
alert(response.responseText);
}
});
});
a travaillé comme ceci:
Voir strong> p> p> p>
Pour cela, vous devez créer une classe ayant deux chaînes, par exemple.
<script>
$(document).ready(function () {
$("#btnGet").click(function () {
$.ajax(
{
type: "POST",
url: "home/getName",
data: {
Name: $("#txtName").val()
},
success: function (result) {
var jsonResult=JSON.parse( result );
$('#FirstTextFieldToFill').val(jsonResult.FirstString);
$('#SecondTextFieldToFill').val(jsonResult.SecondString);
},
failure: function (response) {
alert(response.responseText);
},
error: function (response) {
alert(response.responseText);
}
});
});
});
Merci mec. Déjà travaillé avec la solution postée auparavant. Celui-ci a fonctionné aussi bien