使用Get方法时状态码415的Axios错误

时间:2018-02-20 05:45:09

标签: javascript json asp.net-core-mvc axios asp.net-core-webapi

美好的一天,

我正在使用axios.get面对此错误代码。错误代码是415.我想要做的是,提供const对象将其发送到我的控制器。我试图调试控制器,但它不在我的控制器(ASP.NET核心控制器)中继续。

以下是我的示例代码:

// Class that I want to supply
public class User{
    public int? Name {get;set;}
    public DateTime? Bday {get;set;}
}

// My Controller
public async Task<IActionResult> GetUsers([FromBody] User user){
    // Do something here
}

// My js file axios is already imported and working
async searchUser(){
    const user = {
        Name: name,
        Bday: bday
    }

    await axios.get(`/SomePage/GetUsers/`,user).then(response=>{
        // do something here
    }.catch(error=>{console.log(error);});
}

我希望有人能帮我找到解决方案。

3 个答案:

答案 0 :(得分:2)

HTTP状态代码415表示不支持的媒体类型。也就是说,它表示服务器拒绝接受请求,因为有效载荷格式是不支持的格式。

根据MDN Web Docs

  

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

您可以将API操作FromBody更改为FromQuery吗?从技术上说,这应该有效。

答案 1 :(得分:1)

是的Jaliya是对的。您还可以从Microsoft查看有关ASP.NET Web API中的参数绑定的文档,因为您正在处理API请求。 Parameter Binding in ASP.NET Web API

答案 2 :(得分:0)

调用axios时传递标头

axios.get("https://api.url.com", {headers: {'Content-Type': 'application/json'}