zTree_v3
zTree_v3 copied to clipboard
bug 当这样配置GET请求时,会导致服务响应出错,问号后面参数变成?{}&_=1628253644521
trafficstars
https://github.com/zTree/zTree_v3/blob/be70dfab91925f9356298538337586ddb3748dd3/js/jquery.ztree.all.js#L1092
当这样配置时,会导致服务响应出错:
type: 'GET',
contentType: 'application/json; charset=utf-8',
请求变成了这样: http://ss.dev/api/query?{}&_=1628253644521
问题点:
- 空参数对象无需发送,可判断过滤掉;
- 非 POST 请求时,对象需要转换成 ?a=1&b=2 这种形式;
修复方法:
- data: setting.async.contentType.indexOf('application/json') > -1 ? JSON.stringify(tmpParam) : tmpParam,
+ data: setting.async.contentType.indexOf('application/json') > -1 ? (setting.async.type.toUpperCase() != 'POST'?$.param(tmpParam) : (Object.keys(tmpParam).length ? JSON.stringify(tmpParam) : '')) : tmpParam,
感谢,等我抽空去测试更新