【问题标题】:415 Unsupported Media Type in post request415 发布请求中不支持的媒体类型
【发布时间】:2020-12-01 08:08:38
【问题描述】:

有谁知道什么会导致错误 415(不支持的媒体类型)?谢谢

  createArticleOld : async ({ commit, dispatch }, data) => {
    let added = await dispatch('authorizedPostOld', 
        { action: 'article',
          data, 
          headers:  {
            'Content-Type': 'application/json-patch+json',
            'Accept': 'application/json-patch+json',
          },
        }
    )
    console.log(added)
    commit('ADD_ARTICLE', added)
  },

【问题讨论】:

    标签: vue.js post vuejs2 request frontend


    【解决方案1】:

    通常情况下,HTTP 响应状态 415 告诉您服务器不接受您发送的数据格式,如简要所述here

    源服务器拒绝为请求提供服务,因为目标资源上此方法不支持有效负载的格式。

    格式问题可能是由于请求指定的 Content-Type 或 Content-Encoding,或者是直接检查数据的结果。

    所以,要解决这个问题,你需要找出服务器期望接收数据的格式,然后发送。最简单的方法是检查服务器的文档(或询问开发人员)。

    如果您检查返回到浏览器的原始响应(或通过类似 cURL 或 Postman 的方式执行相同的请求),您可能会在其中找到一些关于端点接受的格式或导致错误的特定问题的线索回应。

    当然,这依赖于服务器的开发人员正确实现 HTTP 状态,而且他们很可能犯了错误。作为一个完整的猜测,鉴于您正在设置 Accept 标头,可能服务器试图告诉您它无法以“应用程序/ json-patch+json",尽管 应该 给你一个406

    【讨论】:

      猜你喜欢
      • 2020-09-25
      • 2015-06-17
      • 2016-11-21
      • 1970-01-01
      • 2014-05-10
      • 2019-05-01
      • 1970-01-01
      相关资源
      最近更新 更多