J'ai suivi les instructions ici Problem performing Ajax call from ASP.NET MVC2 app et je lis à propos de JSON. J'ai beaucoup cherché mais je n'ai pas trouvé de réponse. J'utilise le code suivant:Le champ de réponse JSON est indéfini
Vue:
<script type="text/javascript">
var userName = $("#userName").val();
$.ajax({
type: 'POST',
url: '/Home/PgAJAXTest',
data: {
q: 'Test1',
s: 'Test2'
},
success: function (bbb) {
alert(bbb.Val13);
},
error: function (msg) {
alert("error");
}
});
</script>
code du contrôleur ASP.NET MVC est:
[HttpPost]
public JsonResult PgAJAXTest(string q, string s)
{
var a = Json(new { Val13 = " TEST " });
return a;
}
Le problème est que je reçois "undefined"
.
Si je change alert(bbb.Val13);
-alert(bbb);
je reçois {"Val13":" TEST "}
Je suppose qu'il a quelque chose à voir avec le contrôleur ne pas retourner JSON exactement au format JSON attend.
Oui, cela a résolu Merci! Mais comment obtenir une réponse JSON régulière (donc je peux utiliser bbb.Val13)? – Clangon
Votre réponse vient sur http, donc le résultat est une chaîne par défaut. Soit vous parserez le JSON vous-même comme ci-dessus, soit vous obtiendrez jQuery pour le faire en définissant 'type de données: 'json'' tout en faisant la requête. – nunespascal
@ tereško oui, je suis d'accord en utilisant 'JSON.parse' ou' jQuery.parseJSON' est mieux. Mise à jour ma réponse – nunespascal