gpt4 book ai didi

c# - 尝试返回 json 并填充选择列表

转载 作者:太空狗 更新时间:2023-10-29 18:35:53 25 4
gpt4 key购买 nike

我正在尝试从我的 Controller 返回一个 Json 结果并使用 jQuery 填充一个选择列表。但是代码甚至没有命中我的 Controller 中的 Json 方法。

我的选择列表

<select id="MyList"></select>

我的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>

我在 ProductController 中的 Json 方法

[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);
}

最佳答案

您应该为默认情况下禁用的 GET 请求启用 JSON。这是通过将第二个参数传递给 Json 方法来实现的:

return Json(list, JsonRequestBehavior.AllowGet);

现在继续安装 FireBug .如果您在 StackOverflow 上发布此问题之前已经这样做,您可能已经在浏览器中检查了 AJAX 请求,并且可能已经看到服务器返回 500 状态代码,并且当您检查响应时,您会看到确切的错误消息,而不仅仅是那-您还会看到有关如何修复它的建议。该建议基本上是我在此处发布的答案中的内容。因此,您甚至不需要发布您的问题,因为您可以自己解决。我无法想象人们在没有 FireBug 或 Chrome 开发者工具等工具的情况下进行 Web 开发。这就像尝试在没有任何工具的情况下用自己的双手盖房子。

关于c# - 尝试返回 json 并填充选择列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14455675/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com