bootstrapTable onLoadError's param [status], post url is ASP.NET WebMethod

天大地大妈咪最大 提交于 2019-12-08 09:23:08

问题


now,I'm try to use bootstrapTable to load my data that using ASP.NET WebMethod.

$.ajax(): url is set like this: "url:mydata.aspx/GetData" and this is work fine.

in the other way:

$('#mytab').bootstrapTable({
    method: 'post',
    contentType: "application/x-www-form-urlencoded",
    url:"mydata.aspx/GetData",
    toolbar: '#toolbar',
    striped: true, 
    dataField: "res",
    pageNumber: 1,
    pagination:true,
    queryParamsType:'limit',
    queryParams:queryParams,
    sidePagination:'server',
    pageSize:10,
    pageList:[5,10,20,30],
    showRefresh:true,
    showColumns:true,
    clickToSelect: true,
    toolbarAlign:'right',
    buttonsAlign:'right',
    toolbar:'#toolbar',
    columns:[
        {
            title:'全选',
            field:'select',
            checkbox:true,
            width:25,
            align:'center',
            valign:'middle'
        },
        {
            title:'ID',
            field:'ID',
            visible:false
        },
        {
            title:'登录名',
            field:'LoginName',
            sortable:true
        },
        {
            title:'姓名',
            field:'Name',
            sortable:true
        },
        {
            title:'手机号',
            field:'Tel',
        },
        {
            title:'邮箱',
            field:'Email'
        },
        {
            title:'注册日期',
            field:'CreateTime',
            sortable:true
        },
        {
            title:'状态',
            field:'Attribute',
            align:'center',
            formatter:operateFormatter
        }
    ],
    responseHandler:function(res){
        return res;
    },
    onLoadError: function(status){
        alert("error"+status);
    }
})

function operateFormatter(value,row,index){
    。。。
}

function queryParams(params){
    return{
        pageSize: params.limit,
        pageIndex:params.pageNumber,
        content:$('#search_name').val()
    }
}

ASP.NET API code here

[WebMethod]
public static string GetData(int pageSize, int pageIndex, string content)
{
  return "{total:200,rows:[{......}]}";
}

But now I got an error code:

[error200]has been alerted.

I want to know [onLoadError]'s error status's map
200:XXXX
400:XXXX
500:XXXX

bootstrapTable document has no error status map information. please help........


回答1:


Paste your JSON data into myjson.com and really make sure it's good json (without errors). Then post a JSFiddle with a subset of your code and using the url from the myjson.com link it provides.




回答2:


用英文写太累了,下面就用中文回答啦。
contentType: "application/x-www-form-urlencoded"
修改为下面的
contentType: "application/json;charset=utf-8"

然后发生了一个新的异常,在开发者工具中NewWork中GetData的方法出现了500错误,错误信息是[无效的JSON基元pageSize。。。]

处理方法:将请求的参数由JSON格式转化为JSON字符串格式。

function queryParams(params){
  return{
    pageSize: params.limit,
    pageIndex:params.pageNumber,
    content:$('#search_name').val()
  }
}

改为:

function queryParams(params){
var p = {
    pageSize: params.limit,
    pageIndex:params.pageNumber,
    content:$('#search_name').val()
}
return JSON.stringify(p);

}

经过测试是可行的,如果大家还遇到其他问题,欢迎和我一起讨论解决。



来源:https://stackoverflow.com/questions/49122449/bootstraptable-onloaderrors-param-status-post-url-is-asp-net-webmethod

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!