Tabulator列表编辑器valuesURL请求403:如何配置携带凭证?
Tabulator列表编辑器valuesURL携带凭证的解决方法
可以强制Tabulator在调用valuesURL时携带凭证,核心是给列表编辑器单独配置请求的凭证参数,具体有两种实现方式:
方法一:直接在编辑器参数中指定ajaxConfig
在列定义的editorParams里添加ajaxConfig配置,和主ajax配置一致设置credentials: "include",让valuesURL的请求自动带上凭证:
{ title: "目标列标题", field: "target_field", editor: "select", // 这里以select编辑器为例,其他列表类编辑器同理 editorParams: { valuesURL: "你的动态选项接口地址", ajaxConfig: { credentials: "include" } } }
方法二:自定义ajaxLoader函数
如果需要更灵活的请求逻辑,可以通过ajaxLoader自定义请求过程,手动携带凭证:
{ title: "目标列标题", field: "target_field", editor: "select", editorParams: { ajaxLoader: function(url, successCallback, errorCallback) { // 用fetch发送请求并携带凭证 fetch(url, { method: "GET", credentials: "include" }) .then(res => { if (!res.ok) throw new Error("请求异常"); return res.json(); }) .then(data => successCallback(data)) .catch(err => errorCallback(err)); } } }
额外注意
确保后端已正确配置跨域允许凭证:
- 响应头需包含
Access-Control-Allow-Credentials: true Access-Control-Allow-Origin不能设为*,需指定具体的前端域名(你的主请求正常的话,这部分应该已经配置完成)
内容的提问来源于stack exchange,提问作者user7442280
相关产品推荐
相关产品推荐

