Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/84.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 为什么不';jquery数据表在搜索后是否填充了新更新的数据?_Javascript_Jquery_Css_Datatables_Datatables 1.10 - Fatal编程技术网

Javascript 为什么不';jquery数据表在搜索后是否填充了新更新的数据?

Javascript 为什么不';jquery数据表在搜索后是否填充了新更新的数据?,javascript,jquery,css,datatables,datatables-1.10,Javascript,Jquery,Css,Datatables,Datatables 1.10,我从WebAPI填充我的jQuery Datatable(版本:1.10.15),它可以工作,但当我通过searchbox在Datatable中搜索时,它不会用更新的数据填充Datatable。为什么? 我检查了,它发送搜索值并从服务器带来更新的数据,但不使用新返回的数据填充表 函数显示() { $('#示例')。数据表({ //“处理”:对, “服务器端”:正确, “检索”:正确, “毁灭”:真的, “分页”:正确, //“cont

我从WebAPI填充我的jQuery Datatable(版本:1.10.15),它可以工作,但当我通过searchbox在Datatable中搜索时,它不会用更新的数据填充Datatable。为什么?

我检查了,它发送搜索值并从服务器带来更新的数据,但不使用新返回的数据填充表

函数显示()
{                               
$('#示例')。数据表({
//“处理”:对,
“服务器端”:正确,
“检索”:正确,
“毁灭”:真的,
“分页”:正确,
//“contentType”:“application/json;charset=utf-8”,
“ajax”:http://localhost:28071/Users"
});
}
更新:

C#api代码:

namespace WebApiHimHer.Controllers
{
    public class UsersController : ApiController
    {
        [HttpGet]
        public DTResult GetData([FromUri]DTParameters v)
        {

            List<string[]> s = new List<string[]>();

            //List<basicoperations> s = new List<basicoperations>();

            basicoperations bo= new basicoperations();


            s = bo.getUsers(v.length, v.start, 1, v.sortOrder, v.search.Value);

            DTResult r = new DTResult();
            r.draw = 1;
            r.recordsFiltered = s.Count;
            r.recordsTotal = 100; ;
            r.data = s;

            return r;
        }
    }

    public class DTResult
    {
        public int draw { get; set; }
        public int recordsTotal { get; set; }
        public int recordsFiltered { get; set; }
        public List<string[]> data { get; set; }
    }
    public abstract class DTRow
    {
        public virtual string DT_RowId
        {
            get { return null; }
        }
        public virtual string DT_RowClass
        {
            get { return null; }
        }
        public virtual object DT_RowData
        {
            get { return null; }
        }
    }
    public class DTParameters
    {
        public int draw { get; set; }
        public DTColumn[] columns { get; set; }
        public DTOrder[] order { get; set; }
        public int start { get; set; }
        public int length { get; set; }
        public DTSearch search { get; set; }
        public string sortOrder
        {
            get
            {
                return columns != null && order != null && order.Length > 0
                    ? (columns[order[0].Column].Data + (order[0].Dir == DTOrderDir.DESC ? " " + order[0].Dir : string.Empty))
                    : null;
            }
        }
    }
    public class DTColumn
    {
        public string Data { get; set; }
        public string Name { get; set; }
        public bool Searchable { get; set; }
        public bool Orderable { get; set; }
        public DTSearch Search { get; set; }
    }
    public class DTOrder
    {
        public int Column { get; set; }
        public DTOrderDir Dir { get; set; }
    }
    public enum DTOrderDir
    {
        ASC,
        DESC
    }
    public class DTSearch
    {
        public string Value { get; set; }
        public bool Regex { get; set; }


    }

}
名称空间webapihimmer.Controllers
{
公共类用户控制器:ApiController
{
[HttpGet]
公共DTResult GetData([FromUri]DTV参数)
{
列表s=新列表();
//列表s=新列表();
BasicCoperations bo=新的BasicCoperations();
s=bo.getUsers(v.length,v.start,1,v.sortOrder,v.search.Value);
DTResult r=新的DTResult();
r、 绘图=1;
r、 记录过滤=s.计数;
r、 recordsTotal=100;
r、 数据=s;
返回r;
}
}
公共类DTResult
{
公共int draw{get;set;}
public int recordsTotal{get;set;}
公共int记录过滤{get;set;}
公共列表数据{get;set;}
}
公共抽象类DTRow
{
公共虚拟字符串DT_RowId
{
获取{return null;}
}
公共虚拟字符串DT_RowClass
{
获取{return null;}
}
公共虚拟对象DT_RowData
{
获取{return null;}
}
}
公共类DTP参数
{
公共int draw{get;set;}
公共DTColumn[]列{get;set;}
公共DTOrder[]顺序{get;set;}
public int start{get;set;}
公共整数长度{get;set;}
公共DTSearch{get;set;}
公共字符串排序器
{
收到
{
返回列!=null&&order!=null&&order.Length>0
?(列[order[0].Column].Data+(order[0].Dir==DTOrderDir.DESC?”“+order[0].Dir:string.Empty))
:null;
}
}
}
公共类DTColumn
{
公共字符串数据{get;set;}
公共字符串名称{get;set;}
公共布尔可搜索{get;set;}
公共布尔可排序对象{get;set;}
公共DTSearch{get;set;}
}
公共秩序
{
公共int列{get;set;}
公共DTOrderDir{get;set;}
}
公共枚举DTOrderDir
{
ASC,
描述
}
公共类DTSearch
{
公共字符串值{get;set;}
公共布尔正则表达式{get;set;}
}
}
我在初始表加载和执行搜索后发布请求和响应

初始荷载后:

  • 请求:
_ 1503560388132 列[0][数据] 0 列[0][名称] 列[0][可订购] 符合事实的 列[0][search][regex] 错误的 列[0][搜索][值] 列[0][可搜索] 符合事实的 第[1]栏[数据] 1. 栏[1][名称] 第[1]列[可订购] 符合事实的 列[1][search][regex] 错误的 列[1][search][value] 栏目[1][可搜索] 符合事实的 画 2. 长 10 订单[0][栏目] 0 订单[0][dir] asc 搜索[正则表达式] 错误的 搜索[值] 2. 开始 0

答复:

{“draw”:1,“recordsTotal”:4,“recordsFiltered”:25,“data:[[“Hunain”,“123”],[“hk”,“asd”],[“daenerys Targaryen” ,“123”],[“”,“”]}

执行搜索后:

  • 请求:
_ 1503560409319 列[0][数据] 0 列[0][名称] 列[0][可订购] 符合事实的 列[0][search][regex] 错误的 列[0][搜索][值] 列[0][可搜索] 符合事实的 第[1]栏[数据] 1. 栏[1][名称] 第[1]列[可订购] 符合事实的 列[1][search][regex] 错误的 列[1][search][value] 栏目[1][可搜索] 符合事实的 画 2. 长 10 订单[0][栏目] 0 订单[0][dir] asc 搜索[正则表达式] 错误的 搜索[值] W 开始 0

  • 答复:
{“绘图”:1,“记录汇总”:1,“记录过滤”:25,“数据”:[[“瓦利德”,“123”]}编辑

    function show(){
        $("#example").DataTable({
            serverSide: true,
            processing: true,       
            columns : [
                { data : 'FirstName' },
                { data : 'LastName' }
            ],    
            ajax: {
                url: "https://api.myjson.com/bins/384sr",
                dataSrc : ''
           }
        });  
   }
   show();
Html

<table id="example" class="display">
<thead>
    <tr>
        <th>First Name</th>
        <th>Last Name</th>
    </tr>
</thead>

名字
姓

原因是发送和接收的
draw
参数不相同,因为我在服务器代码中使用了
draw
static,因此不匹配。我返回了与发送时相同的
draw
参数


从:

此对象响应的绘图计数器-来自绘图 参数作为数据请求的一部分发送。请注意,它是 出于安全原因,建议您将此参数强制转换为 整数,而不是简单地回显客户端发送的内容 draw参数,以防止跨站点脚本(XSS) 攻击


不确定是否发现错误,但请检查此项

验证配置/system.webServer/security/requestFiltering/requestLimits@maxQueryString在applicationhost.config或web.config文件中进行设置。

//对我来说,这是两件事。
//用javascript包装表
//函数_displayItems(data){var table=$('#。。。
//然后使用结束括号:
//摧毁然后清除
productsTable.destroy();
productsTable.clear();
}
函数_displaytems(){
获取(uri)
.then(response=>response.json())
.然后(数据=>\u显示项目(数据))
.catch(error=>console.error('无法获取项目',error));
}
var tableName=$('#data').DataTable({
“处理”:对,
“数据”:数据,
“栏目”:[
{“姓名”