w2ui Grid带参数从服务器取数据时ID传值为空问题排查
解决w2ui Grid GET请求传递参数为空的问题
嗨,我之前也踩过这个坑!问题出在你对w2ui Grid的参数配置理解上——postData属性是给POST、PUT这类带请求体的请求用的,而你用的是method: 'GET',GET请求的参数是通过URL查询字符串传递的,这时候得用params属性来传参数才行。
你可以把代码改成这样:
function databindSquadMembers(ID) { $('#myGrid2').w2grid({ name: 'myGrid2', url: 'member/Find', method: 'GET', show: { toolbar: true }, columns: [ { field: 'PersonalCode', caption: 'PCode'}, { field: 'FullName', caption: 'fName'}, ], params: { ID: ID }, // 把postData替换成params }); }
另外还要注意两个细节:
- 检查控制器端的参数名称是否和你传递的
ID完全一致(大小写敏感!比如如果控制器里写的是小写id,那前端也要传id) - 确保控制器正确配置了参数的来源,比如在ASP.NET里要加
[FromQuery]标记,Java Spring里用@RequestParam,告诉框架从URL查询字符串里取参数。举个ASP.NET控制器的例子:
[HttpGet("member/Find")] public IActionResult Find([FromQuery] string ID) { // 你的业务逻辑 return Ok(); }
如果非要用postData来传(非常不推荐GET这么做,不符合HTTP规范),那你得修改控制器从请求体里取参数,但这不是GET请求的常规用法,还是用params更合理。
内容的提问来源于stack exchange,提问作者JohnConnor
相关产品推荐
相关产品推荐

