You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

调用JavaScript API出现406(Not Acceptable)错误,求解决方案

解决Fetch POST请求返回406(Not Acceptable)错误的方案

针对你用Fetch API发送POST请求遇到的406错误,结合你的代码和Drupal 9服务器的响应信息,给出以下排查和解决方向:

  • 检查Drupal端点的预期Accept格式:Drupal的API端点(比如REST资源)对Accept头通常有严格要求,哪怕你加了*/*,服务器端的路由或资源配置可能只接受特定媒体类型,比如Drupal REST默认常用application/vnd.drupal-jsonapi+json这类格式,而非通用的application/json。

  • 调整请求头的Accept字段:
    尝试替换Accept头为Drupal适配的格式:

    'Accept': 'application/vnd.drupal-jsonapi+json'
    

    若为自定义端点,也可尝试只保留application/json,避免多余类型导致服务器匹配混乱:

    'Accept': 'application/json'
    
  • 验证Content-Type与后端兼容性:
    你当前用的Content-Type是application/json,需确认Drupal的目标端点是否接受JSON请求体。如果是Drupal表单提交类端点,可能需要改用application/x-www-form-urlencoded格式,同时修改请求体编码方式:

    headers: {
      'Accept': 'text/html, */*',
      'Content-Type': 'application/x-www-form-urlencoded'
    },
    body: new URLSearchParams(data).toString()
    
  • 查看Drupal后台日志定位问题:
    Drupal会在后台日志(路径/admin/reports/dblog)中记录406错误的具体原因,比如哪个资源无法匹配Accept头、请求参数是否合规等,这能帮你精准定位问题。

内容的提问来源于stack exchange,提问作者Diamoniner12345

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.08 03:45:32