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

POST请求调用OutplayHQ API时出现415错误求助

排查POST请求415错误的问题

错误原因分析

HTTP 415状态码表示服务器不支持请求的媒体类型,结合你的代码,核心问题出在以下几点:

1. mode: 'no-cors'的强制限制

当使用no-cors模式时,浏览器会严格限制请求头和请求体格式:

  • 自定义请求头(比如X-CLIENT-SECRET)会被忽略
  • 你设置的Content-Type: application/json会被强制替换为简单请求允许的类型(application/x-www-form-urlencoded、multipart/form-data或text/plain)
    这就导致服务器接收到的请求体格式不符合预期,直接返回415错误。

2. 函数参数重复定义

send_data函数的参数列表里,company被重复声明了两次:

function send_data(firstName, lastName, company, profileURL, email, phone, website, company, jd)

调用时也传了两次company,这会导致第二个company覆盖第一个值,属于代码隐患。

解决方案

步骤1:移除mode: 'no-cors'配置

fetch默认使用cors模式,直接删除mode: 'no-cors',这样浏览器会保留你设置的Content-Type和自定义请求头:

fetch(url, {
    method: 'POST',
    headers: {
        'X-CLIENT-SECRET': 'CLIENT_SECRET',
        'Content-Type': 'application/json'
    },
    body: JSON.stringify(data),
})

步骤2:处理跨域问题

如果移除no-cors后出现跨域错误(CORS blocked),说明OutplayHQ的API没有配置允许你的域名跨域请求。此时有两种解决方式:

  • 用后端服务(比如Node.js、PHP)作为代理,前端请求自己的后端,再由后端转发请求到OutplayHQ API(后端请求不受浏览器跨域限制)
  • 联系OutplayHQ支持,将你的域名添加到API的CORS白名单中

步骤3:修复参数重复问题

修改send_data的函数定义和调用,去掉重复的company参数:

// 调用时去掉重复的company
send_data(firstName, lastName, company, profileURL, email, phone, website, jd); 

// 函数定义去掉重复的company参数
function send_data(firstName, lastName, company, profileURL, email, phone, website, jd){
    // ... 剩余代码不变
}

步骤4:验证API字段格式

最后检查OutplayHQ API的文档,确认:

  • 字段名是否正确(比如emailid是否应为email)
  • 是否有必填字段未填写(比如designation传空值是否允许)
  • 请求体的JSON结构是否完全符合API要求

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.29 00:45:16