我一直在尝试从React中的一个组件中获取一些数据,但是当我在url中包含一个参数时,什么也没有发生,并且获取方法永远不会完成。
这是我的提取方法
fetch(`api/SampleData/GetTemplate/${this.props.match.params.orderId}`)
.then(response => response.json())
.then(data => {
this.setState({ Template: data, loading: false });
});
这是我的api get方法:
[HttpGet("{id}")]
public ShoppingTemplate GetTemplate(int id)
{
var template = new PentaShoppingorder
{
OrderId = id.ToString(),
Date = DateTime.Now.ToString(),
Title = "Template title",
Price = 5000,
Supplier = Supplier[1],
};
return template;
}
当我看着调试器时,URL看起来不错,所以我假设它是它的api,这就是我无法找出问题所在的问题。
我也尝试添加[FromRoute],但结果相同。
答案 0 :(得分:0)
您要致电api/SampleData/${this.props.match.params.orderId}
代替api/SampleData/GetTemplate/${this.props.match.params.orderId}
由于当前的路由约定为[Route("api/[controller]")]
,因此您要从组合中排除操作。
如果您想参与其中,请将您的route属性设置为[Route("api/[controller]/[action]")]