Javascript 405获取POST请求时出错。当Get请求正常时,为什么我不能执行POST请求?

Javascript 405获取POST请求时出错。当Get请求正常时,为什么我不能执行POST请求?,javascript,api,post,request,fetch,Javascript,Api,Post,Request,Fetch,我正在尝试对json blob api进行POST请求(这是一个存储json文件的简单api)。我得到了405个错误… 我不知道为什么我不能做POST请求,当得到的请求工作良好 有人能帮我吗? 根据该API的文档,您需要在标题中指定json内容类型,这很好: fetch("https://jsonblob.com/api/jsonBlob", { method: 'POST', headers: { "Content-type": "application/json

我正在尝试对json blob api进行POST请求(这是一个存储json文件的简单api)。我得到了405个错误…
我不知道为什么我不能做POST请求,当得到的请求工作良好

有人能帮我吗?


根据该API的文档,您需要在标题中指定json内容类型,这很好:

fetch("https://jsonblob.com/api/jsonBlob", {
    method: 'POST',
    headers: {
      "Content-type": "application/json"
    },
    body: JSON.stringify({
        name: 'dean',
        login: 'dean',
    })
})
.then(response => {
    if (response.ok) {
        return response.json()
    }
    throw new Error('POST Request failed!')
})
.then(jsonResponse => {
    console.log(jsonResponse)
})
.catch(error => {
    console.log('POST Request failure: ', error);
});

如果您阅读了该API的文档,POST请求不会在请求URL中使用blobID-您还需要添加一个值为
application/json
content-type
请求头-否则会出现415错误

它在响应头
x-jsonblob
中返回一个Blob ID,因此,要获取稍后使用的Blob ID头,您需要访问这些头

constapi=”https://jsonblob.com/api/jsonBlob"
获取(api、{
方法:“POST”,
正文:JSON.stringify({
姓名:'院长',
登入:'院长',
}),
//您还必须为该API添加此请求标头
标题:{
“内容类型”:“应用程序/json”
}
})。然后(响应=>{
if(response.ok){
constblobid=response.headers.get('x-jsonblob');
log(`POST返回一个blobID=${blobID}`);
//返回blobID,我们可以稍后使用它获取数据
退货;
}
抛出新错误(“POST请求失败!”)
}).然后(blobID=>{
//让我们做一个测试,看看我们是否得到了正确的数据
log(`fetch${api}/${blobID}`);
返回fetch(`${api}/${blobID}`)
})。然后((响应)=>{
if(response.ok){
返回response.json();
}
抛出新错误(“获取请求失败!”);
})
.然后((Jsondata)=>{
console.log('获取的结果')
console.log(Jsondata)
}).catch(错误=>{
log('请求失败:',错误);

});fetch("https://jsonblob.com/api/jsonBlob", { method: 'POST', headers: { "Content-type": "application/json" }, body: JSON.stringify({ name: 'dean', login: 'dean', }) }) .then(response => { if (response.ok) { return response.json() } throw new Error('POST Request failed!') }) .then(jsonResponse => { console.log(jsonResponse) }) .catch(error => { console.log('POST Request failure: ', error); });