LayUI >> Table 组件 往WebApi接口传值的问题!

一石十五鸟 2021-03-30 03:02:03
前端代码

//初始参数
var parameter = {
'list_TerminalType': null,
'list_TerminalGroup': null,
'TerminalName': '候',
'TerminalIP': null
};
//表格初始化
var table_Terminal = table.render({
elem: '#table_Terminal',
contentType: "application/json; charset=utf-8;",
url: '../../../api/Terminal/GetList_Terminal',
where: parameter,
method: 'post',
toolbar: '#toolbar_Table_Terminal_Add',
defaultToolbar: ['filter', 'exports', 'print', {
title: '提示',
layEvent: 'LAYTABLE_TIPS',
icon: 'layui-icon-tips'
}],
cols: [[
{ type: "checkbox", width: 50, unresize: true, align: 'center' }
]],
page: true,
limits: [10, 15, 20],
limit: 10,
even: true,
parseData: function (returnData) { //res 即为原始返回的数据
if (returnData.Code_State == 1) {
returnData.Code_State = 0;
var ShowData;
if (this.page.curr) {
ShowData = returnData.Data.slice(this.limit * (this.page.curr - 1), this.limit * this.page.curr);
}
else {
ShowData = returnData.Data.slice(0, this.limit);
}
return {
"code": returnData.Code_State, //解析接口状态
"msg": returnData.Err_Msg, //解析提示文本
"count": returnData.Data.length, //解析数据长度(打印台报错->length可以忽视)
"data": ShowData //解析数据列表
};
}
else {
return {
"code": 0, //解析接口状态
"msg": 0, //解析提示文本
"count": 0, //解析数据长度(打印台报错->length可以忽视)
"data": returnData.data //解析数据列表
};
}
}
});



后端接口代码

[HttpPost]
public JsonTemplate<Terminal> GetList_Terminal([FromUri] GetList_Terminal parameter)
{
List<Terminal> list_Data = new List<Terminal>();
JsonTemplate<Terminal> jsontemplate;
//GetList_Terminal parameter = JsonHelper.JsonToModel<GetList_Terminal>(parameter_in);
int codeState;
String errMsg;


codeState = Result.Ok;
errMsg = ApiErrStr.Ok;
jsontemplate = new JsonTemplate<Terminal>(codeState, errMsg, list_Data);
return jsontemplate;
}



后端API接口无法接收到参数!接收到的全部是null 值!!求大神指点~~


...全文
342 11 打赏 收藏 举报
写回复
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
小强清风 2021-03-31
FromUri就是url传参数那种吧。用[FromBody],并且前端那个parameter序列化为字符串在提交试试。或者用最原始的Request.From[""]
  • 打赏
  • 举报
回复
把浏览器请求信息发出来才能确定是哪里的问题。 尝试以下操作 1、将后台参数[FromUri] GetList_Terminal parameter改成对应的属性接收试试例如[FromForm]string TerminalName 看是否可以收到TerminalName的值 2、如果1不能收到再修改为[FromBody]string TerminalName 继续尝试 3、如果1和2还是收不到把请求的Request.ContentType打印出来看一下客户端的报文格式是什么样子的。
  • 打赏
  • 举报
回复
前端js里的方法post改成get试试
  • 打赏
  • 举报
回复
Null_Reference 2021-03-30
前端抓一下包 看看提交的数据结构
  • 打赏
  • 举报
回复
一石十五鸟 2021-03-30
引用 4 楼 Null_Reference 的回复:
后端用的什么版本 [FromBody] 改了么
改过了,接口直接返回调用Error
  • 打赏
  • 举报
回复
Null_Reference 2021-03-30
引用 5 楼 Null_Reference 的回复:
如果用的webapi 只需要在controller 头部加上[ApiController] 即可
去掉[fromurl] 或者不加apicontroller ,fromuri 改成 frombody
  • 打赏
  • 举报
回复
Null_Reference 2021-03-30
如果用的webapi 只需要在controller 头部加上[ApiController] 即可
  • 打赏
  • 举报
回复
Null_Reference 2021-03-30
后端用的什么版本 [FromBody] 改了么
  • 打赏
  • 举报
回复
一石十五鸟 2021-03-30
改成[FromBody] 试过了,不行的!
  • 打赏
  • 举报
回复
一石十五鸟 2021-03-30
求大神指点一下,实在不想 ?的这种方式来传递参数!!!
  • 打赏
  • 举报
回复
Null_Reference 2021-03-30
fromuri 改成 frombody试试
  • 打赏
  • 举报
回复
相关推荐
发帖
.NET社区

6.0w+

社区成员

.NET技术交流专区
社区管理员
  • ASP.NET
  • R小R
  • 喵叔哟
加入社区
帖子事件
创建了帖子
2021-03-30 03:02
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。