Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/442.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Datatable-源于DOM的对象数组将不加载数据_Javascript_C#_Jquery_Json_Datatable - Fatal编程技术网

Javascript Datatable-源于DOM的对象数组将不加载数据

Javascript Datatable-源于DOM的对象数组将不加载数据,javascript,c#,jquery,json,datatable,Javascript,C#,Jquery,Json,Datatable,我正在尝试使用位于DOM中的对象数组初始化datatable 我有简单的数据表初始化代码: $(document).ready(function () { $('#ManageSubReps').DataTable({ data: GetSRData(), columns: [ { "data": "username" }, { "data": "AspNetUserRoleName" },

我正在尝试使用位于DOM中的对象数组初始化datatable

我有简单的数据表初始化代码:

$(document).ready(function () {
    $('#ManageSubReps').DataTable({
        data: GetSRData(),
        columns: [
            { "data": "username" },
            { "data": "AspNetUserRoleName" },
            { "data": "Name" },
            { "data": "Address" },
            { "data": "City" },
            { "data": "State" },
            { "data": "Zip" },
            { "data": "EmailAddress" },
            { "data": "HomePhone" },
            { "data": "CellPhone" },
            { "data": "New_Rep" },
            { "data": "Stand_By" },
            { "data": "DateApproved" },
            { "data": "AspNetUserID" }
        ]
    });
});
我的GetSRData函数如下所示:

function GetSRData() {
    return @Html.Raw(Model.JsonData)
}
public ActionResult ManagerSubReps(){
var model = new ManageSubRepsViewModel();
model.JsonData = JsonConvert.SerializeObject(new {data = _iManageSubRepsManager.GetSubRepsAsync(Session["CID"])});

return View(model);
}
{"data":[{"username":"01001MC","MASTER":null,"Name":"A name","Address":"105 Address Dr.","City":"Agawam","State":"MA","Zip":"89898","EmailAddress":"blerb@yahoo.com","HomePhone":"","CellPhone":"8767878767","New_Rep":"False","Stand_By":"False","DateApproved":null,"AspNetUserID":null,"AspNetUserRoleName":null},{"username":"01002RG","MASTER":"False","Name":"Blooby palooby","Address":"7 Eaton drive, gumbie@Gmail.Com","City":"Amherst","State":"MA","Zip":"35656","EmailAddress":"chumpy@GMAIL.COM","HomePhone":"","CellPhone":"8986786654","New_Rep":"False","Stand_By":"False","DateApproved":null,"AspNetUserID":null,"AspNetUserRoleName":null}]}
我的服务器端代码如下所示:

function GetSRData() {
    return @Html.Raw(Model.JsonData)
}
public ActionResult ManagerSubReps(){
var model = new ManageSubRepsViewModel();
model.JsonData = JsonConvert.SerializeObject(new {data = _iManageSubRepsManager.GetSubRepsAsync(Session["CID"])});

return View(model);
}
{"data":[{"username":"01001MC","MASTER":null,"Name":"A name","Address":"105 Address Dr.","City":"Agawam","State":"MA","Zip":"89898","EmailAddress":"blerb@yahoo.com","HomePhone":"","CellPhone":"8767878767","New_Rep":"False","Stand_By":"False","DateApproved":null,"AspNetUserID":null,"AspNetUserRoleName":null},{"username":"01002RG","MASTER":"False","Name":"Blooby palooby","Address":"7 Eaton drive, gumbie@Gmail.Com","City":"Amherst","State":"MA","Zip":"35656","EmailAddress":"chumpy@GMAIL.COM","HomePhone":"","CellPhone":"8986786654","New_Rep":"False","Stand_By":"False","DateApproved":null,"AspNetUserID":null,"AspNetUserRoleName":null}]}
我的数据片段如下所示:

function GetSRData() {
    return @Html.Raw(Model.JsonData)
}
public ActionResult ManagerSubReps(){
var model = new ManageSubRepsViewModel();
model.JsonData = JsonConvert.SerializeObject(new {data = _iManageSubRepsManager.GetSubRepsAsync(Session["CID"])});

return View(model);
}
{"data":[{"username":"01001MC","MASTER":null,"Name":"A name","Address":"105 Address Dr.","City":"Agawam","State":"MA","Zip":"89898","EmailAddress":"blerb@yahoo.com","HomePhone":"","CellPhone":"8767878767","New_Rep":"False","Stand_By":"False","DateApproved":null,"AspNetUserID":null,"AspNetUserRoleName":null},{"username":"01002RG","MASTER":"False","Name":"Blooby palooby","Address":"7 Eaton drive, gumbie@Gmail.Com","City":"Amherst","State":"MA","Zip":"35656","EmailAddress":"chumpy@GMAIL.COM","HomePhone":"","CellPhone":"8986786654","New_Rep":"False","Stand_By":"False","DateApproved":null,"AspNetUserID":null,"AspNetUserRoleName":null}]}
HTML:


用户名
角色
名称
地址
城市
陈述
拉链
电子邮件
家庭电话
手机
新代表
袖手旁观
批准日期
当我返回数据并尝试初始化datatable时,可能会发生两件事:

  • 如果我删除Json对象的“数据”部分,那么datatales将呈现datatables,但其中没有任何数据
  • 如果我离开Json对象的“数据”部分,那么datatables将给出错误:“请求第0行第0列的未知参数“0”。这基本上意味着它无法区分数据并用数据形成数据表 我已经检查了列数据,它匹配得非常好。我想不出问题出在哪里

    有人能帮忙吗


    编辑:我知道问题与数据是字符串有关,因为我对其调用HTML.Raw()。但是,我不确定如何在没有此

    的情况下从模型传递数据,请尝试
    ajax
    而不是数据和完全限定的url(controller/api方法)来获取ajax数据:

    $(document).ready(function() {
        $('#ManageSubReps').DataTable( {
            "processing": true,
            "serverSide": true,
            "ajax": "ManagerSubReps",
            columns: [
              { "data": "username" },
              { "data": "AspNetUserRoleName" },
              { "data": "Name" },
              { "data": "Address" },
              { "data": "City" },
              { "data": "State" },
              { "data": "Zip" },
              { "data": "EmailAddress" },
              { "data": "HomePhone" },
              { "data": "CellPhone" },
              { "data": "New_Rep" },
              { "data": "Stand_By" },
              { "data": "DateApproved" },
              { "data": "AspNetUserID" }
            ]
        } );
    } );
    

    有关更多详细信息,请参阅。

    我已将其删除,但奇怪的是,它仍然没有产生任何影响。但是谢谢你指出,我考虑过这样做,但是我必须让我的操作成为GET请求,这会让我面临一些漏洞。如果您的后端代码是安全的,那么没有足够的数据来保证服务器端处理Get不会打开vunerability,而且
    @Html.Raw
    可以用于脚本注入。在代码中没有发现任何问题,但实际上需要在某个时候进行调试以解决问题。你确定你得到的数据和你发布的数据一样吗?是的,你是对的。我会换成Ajax GET,因为我有5000条记录,这对于服务器端处理来说是不够的。干杯!为了强调这一点,您可以在请求上添加防伪令牌,使其成为POST请求,并且更安全。这就是我所做的