尝试将多个参数传递给具有公理的 React 中的 get 请求时收到 415 错误

这可能很容易(或很难)回答,我是新手,但还没有找到解决我的问题的方法。


我做了一个看起来像这样的api:


[HttpGet]

[Route("GetDateRange")]

public IActionResult GetDateRange(DateRangeModel model)

{

 ...

}

因此,它采用了一个DateRangeModel对象。此对象如下所示:


public class DateRangeModel

{

    public int PlayerId { get; set; }

    public DateTime StartDate { get; set; }

    public DateTime EndDate { get; set; }

}

现在在前端,在 react 中,无论我如何尝试传入值,我似乎总是得到 415(不受支持的媒体错误)。以下是我对一些硬编码值的最新尝试:


var body = {

    playerId: 2, 

    startDate: '2020-01-01',

    endDate: '2020-03-03'

};


var myJson = JSON.stringify(body);


const result = await axios.get('http://localhost:64390/api/players/getdaterange/', myJson);

console.log(result);

当我在Postman的正文中输入此内容时,它完美地工作,我得到200 OK消息以及正确的json响应:


{

    "playerId": 2,

    "startDate": "2020-01-01",

    "endDate": "2020-03-03"

}

感谢您的任何帮助。


慕运维8079593
浏览 118回答 1
1回答

DIEA

好吧,因为您要将数据发送到服务器,因此必须使用请求。现在你正在使用axios.get,你需要用 axios.post 替换它。而且,在 axios.post 方法之前,您甚至不需要使用JSON.stringify方法将对象解析为字符串。让我作一个示范;postaxios.post('http://localhost:64390/api/players/getdaterange/', {    playerId: 2,     startDate: '2020-01-01',    endDate: '2020-03-03'}).then((response) => {  console.log(response);}, (error) => {  console.log(error);});您需要使用请求处理程序在服务器上处理此请求。post
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript