我再次难以理解如何使用Fetch
。我需要将对象发送到ASP.NET控制器。
我有XMLHttpRequest
(有效):
handleProductSubmit(product) {
const products = this.state.data;
product.productID = products.length + 1;
const newProducts = products.concat([product]);
this.setState({ data: newProducts });
const data = new FormData();
data.append('Name', product.Name);
data.append('Description', product.Description);
const xhr = new XMLHttpRequest();
xhr.open('get', this.props.submitUrl, true);
xhr.onload = () => this.loadProductsFromServer();
xhr.send(data);
}
使用Fetch
,我只能算出:
handleProductSubmit(product) {
const data = new FormData();
data.append('Name', product.Name);
data.append('Description', product.Description);
console.log(data);
fetch("/comments/new?product=" + encodeURIComponent(data))
.then(res => res.json())
.then(res => {
console.log(res);
})
.catch(error => {
console.error(error);
});
}
它返回到控制器null
。
答案 0 :(得分:1)
您可以执行以下操作:
const queryParams = `Name=${encodeURIComponent(product.name)}&Description=${encodeURIComponent(product.Description)}`;
fetch(`/comments/new?${queryParams}`)