使用Ajax在DIV中显示列表 - c#

我正在尝试使用ajax在div中显示字符串列表,但是我不确定如何解析Ajax中的数据。

这是我在C#中的方法:

public JsonResult GetRecentEmployeeRecords(string whse)
{
    var recentRecords = _employeeDb.EmployeeMasters.Where(e => e.Branch == whse).OrderBy(e => e.CreateDate).Take(10);
    var list = recentRecords.Select(r => r.EmployeeNumber + " - " + r.LastName + ", " + r.FirstName).ToList();
    var jsonSerialiser = new JavaScriptSerializer();
    var json = jsonSerialiser.Serialize(list);
    return Json(json, JsonRequestBehavior.AllowGet);
}

这是我的ajax语句:

    $.ajax(
    {
        type: 'GET',
        url: '../Employee/GetRecentEmployeeRecords',
        data:
        {
            whse: $('#Branch').val(),
        },
        contentType: 'application/json; charset=utf-8',
        dataType: 'json',
        success: function (data) {
            for (var i in data) {
                $('#recentEmployeeNumbers').val(data[i] + "<br/>");
                alert(data[i]);
            }
        }
    });

似乎我正在取回数据,但由于它一次只给我一个字符而出现。一次获取整个字符串并在div中显示所有十个字符串的最佳方法是什么?

参考方案

您正在对响应进行双重JSON编码。

return Json(..)将对结果进行编码,但是您已经在对jsonSerialiser.Serialize的调用中对其进行了编码。在MSDN文档中,Controller.Json方法:

  创建一个JsonResult对象,该对象将指定对象序列化为JavaScript Object Notation(JSON)。

要解决此问题,只需将list直接传递给Json调用:

public JsonResult GetRecentEmployeeRecords(string whse)
{
    var recentRecords = _employeeDb.EmployeeMasters.Where(e => e.Branch == whse).OrderBy(e => e.CreateDate).Take(10);
    var list = recentRecords.Select(r => r.EmployeeNumber + " - " + r.LastName + ", " + r.FirstName).ToList();

    return Json(list, JsonRequestBehavior.AllowGet);
}

另外,在您的JavaScript中,然后您将在每次迭代中覆盖div的内容:

$('#recentEmployeeNumbers').val(data[i] + "<br/>");

您可以将val替换为append,以将详细信息附加到div

$('#recentEmployeeNumbers').append(data[i] + "<br/>");

如何在没有for循环的情况下在Javascript中使用Django模板标签 - javascript

我想在JavaScript中使用模板变量:我的问题是在javascript代码中使用for循环,for循环之间的所有事情都会重复..但我不想要....下面粘贴了我的代码..有人可以告诉我更好的方法吗这..因为这看起来很丑..这是我的代码: {% block extra_javascript %} <script src="/static/js…

将字符串分配给numpy.zeros数组[重复] - python

This question already has answers here: Weird behaviour initializing a numpy array of string data                                                                    (4个答案)         …

T-SQL等价的正则表达式'\ b' - c#

我正在将利用regex的CLR函数转换为SQL函数。我知道SQL Server并不完全支持正则表达式,但是我只需要一种情况就可以搜索单词。搜索字段值:{"Id":1234, "Title": "The quick brown"}.NET中的正则表达式模式:'\b' + '…

AJAX-每当调用AJAX脚本时,JavaScript就会中断 - javascript

我雇用了一名开发人员来帮助完成某些工作,他主要专注于PHP,并尝试了这种javascript。每当以下AJAX脚本将HTML重新加载到DOM中时,它都会中断页面​​。它通过Codenigniter调用了一个函数以重新加载页面中的view。一旦发生这种情况,所有的javascript将不再起作用。我似乎找不到能帮助解决此问题的解决方案。请帮忙。注意:理想情况下…

R'relaimpo'软件包的Python端口 - python

我需要计算Lindeman-Merenda-Gold(LMG)分数,以进行回归分析。我发现R语言的relaimpo包下有该文件。不幸的是,我对R没有任何经验。我检查了互联网,但找不到。这个程序包有python端口吗?如果不存在,是否可以通过python使用该包? python参考方案 最近,我遇到了pingouin库。