En essayant de retour json et remplir selectlist
Im essayant de retourner un résultat Json à partir de mon contrôleur et de remplir un selectlist à l'aide de jQuery.
Mais le code n'avez même pas touché la méthode Json dans mon contrôleur.
Mon selectlist
<select id="MyList"></select>
Mon javascript
<script type="text/javascript">
$(document).ready(function () {
$.getJSON("@Url.Action("GetProductJson", "Product")", null, function (data) {
$("#MyList").addItems(data);
});
});
$.fn.addItems = function (data) {
return this.each(function () {
var list = this;
$.each(data, function (index, itemData) {
var option = new Option(itemData.Text, itemData.Value);
list.add(option);
});
});
};
</script>
Mon Json méthode dans ProductController
[HttpGet]
public JsonResult GetProductJson()
{
var list = new List<SelectListItem>
{
new SelectListItem { Value = "1", Text = "Aron" },
new SelectListItem { Value = "2", Text = "Bob" },
new SelectListItem { Value = "3", Text = "Charlie" },
new SelectListItem { Value = "4", Text = "David" }
};
return Json(list);
}
OriginalL'auteur Nils Anders | 2013-01-22
Vous devez vous connecter pour publier un commentaire.
vous devez ajouter
JsonRequestBehavior.AllowGet
dans votre json méthodede Phil haack post JsonHijacking
OriginalL'auteur Ravi Gadag
Vous devez activer JSON pour les requêtes GET qui est désactivé par défaut. Cela se produit par le passage d'un deuxième argument à la
Json
méthode:Maintenant aller de l'avant et installer
FireBug
. Si vous aviez fait avant de poster cette question sur StackOverflow vous pourriez avoir inspecté la requête AJAX dans votre navigateur et avons vu que le serveur renvoie 500 code d'état, et lorsque vous inspecté la réponse, vous auriez vu le message d'erreur exact et pas seulement que vous avez vu une suggestion sur la façon de le résoudre. La suggestion est en gros ce que j'ai posté ici dans ma réponse. Ainsi, vous n'auriez même pas eu besoin de poster votre question que vous seriez en mesure de résoudre par vous-même. Je ne peux pas imaginer les gens à faire du développement web sans un outil comme FireBug ou Chrome Developer Tools. C'est comme essayer de construire une maison avec vos propres mains nues et sans outils.Est fonction de script de sa question, nommé "addItems" vrai?
Merci! J'ai maintenant installé Chrome Developer Tools.
OriginalL'auteur Darin Dimitrov