gpt4 book ai didi

asp.net-mvc - 从 Controller 获取json数据?

转载 作者:行者123 更新时间:2023-12-01 08:13:53 25 4
gpt4 key购买 nike

脚本:

<script type="text/javascript">
function getMeterInfo(meter_id) {
$.ajax({
url: '@Url.Action("MeterInfo", "Power")',
data: { meter_id: meter_id},
dataType: "json",
type: "GET",
error: function () {
alert("Error!");
},
success: function (data) {
var item = "";
item += data.sno + " " + data.customer_id + data.city + data.region; //+ more info about meter.

$("#meter_info").html(item);
}
});
}

$(document).ready(function () {
$("#meters").change(function () {
var meter_id = $("#meters").val();
getMeterInfo(meter_id);
});
});
</script>

注意:我知道成功函数的内容不正确。我不知道,我可以在那里写什么。

cshtml

@Html.DropDownList("sno", new SelectList(Model, "sno", "meter_name"), "-- Select Meter --", new { id = "meters" })

<table id=meter_info>
</table>

Controller

 [HttpGet]
public ActionResult MeterInfo(string meter_id)
{
int _meter_id = Int32.Parse(meter_id);
var _meter = entity.TblMeters.Where(x => x.sno == _meter_id).FirstOrDefault();

return Json(_meter, JsonRequestBehavior.AllowGet);
}

型号

 public class TblMeters
{
int sno;
int customer_id;
string city;
string region;
.....
}

我想在 html 表中显示我的模型值(sno、customer_id、city、region 等)。当我调试程序时, Controller 操作返回预期数据。

  1. 我不知道如何在名为meter_info的表上显示返回的数据项。
  2. 当我运行上面的代码时,错误函数起作用,而不是成功函数。

如何在表格上显示数据?为什么错误函数有效?

谢谢。

最佳答案

我想知道你的序列化是否正常工作。如果您更改此设置会发生什么:

return Json(_meter, JsonRequestBehavior.AllowGet);

return Json(new { sno = _meter.sno, customer_id = _meter.customer_id etc. }, JsonRequestBehavior.AllowGet);

此外,如果您可以检查开发人员工具栏(大多数浏览器中为 F12)“网络”选项卡来检查响应是什么,那将会非常有帮助。

更新

您可以检查数据的序列化方式。如果您使用内置的序列化器/解串器,那么您可以尝试这样的操作。

var serializer = new JavaScriptSerializer();
var json = serializer.Serialize(yourData);

使用 JSON.NET

var json = JsonConvert.SerializeObject(yourData, jsonSerializerSettings);

关于asp.net-mvc - 从 Controller 获取json数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11936102/

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