这个逼问题困扰了我两天了 作为一个主后端的程序员 初体验前端技术栈真的麻之又麻
以防万一 请先确认 是不是和我一个情况
如果是 请往下看
首先 我们需要念一段咒语
json是json string是string json是string string不一定是json
然后把自己的所有怨念聚合成一口气
JSGRID 你他妈的
ok 现在放平心态
首先这个问题很简单 就是json和String转换的问题
先放问题代码
我这边的后端是
@PostMapping("//接口")
public HttpResponse getAllPartner(){
//代码
return response;
}
前端代码节选
controller: {
loadData: function (filter) {
return $.ajax({
url: //你的接口,
data:filter,
type: "POST",
contentType: 'application/json; charset=utf-8',
dataType: "json"
}).then(function (result) {
console.log((result).data);
return (result.data)
})
}
}
很简单的代码是吧 但是你要注意的是后端返回的httpresponse返回的是一个JSON JSON是String
前端收到的会放到result里面 这个result是JSON 因为dataType指定了 很合理
但是JsGrid它这玩意要的是String
正确解法 修改返回值 套层转换 完事
}).then(function (result) {
console.log((result));
return (JSON.parse(result.data))
})
纪念我被这个byd浪费的数小时
感谢下面的链接让我有了头绪
https://stackoverflow.com/questions/41335918/jsgrid-loaddata-does-not-work