Я создаю приложение Reactjs с использованием ASP.Net Core, и я совершенно новичок в этом. У меня есть компонент JS, который (насколько мне известно) выполняет соответствующий запрос на выборку (POST) для контроллера сервера C #. Сервер окончательно получает запрос. Однако я абсолютно не знаю, как получить доступ к параметрам запроса (который я передаю через тело).
Я пытался использовать [FromBody] для прямого доступа к телу. Я также пытался использовать Request.Body, Request.Form, Request.Query, Request.Params и т. Д. Я пытался следовать рекомендациям, которые я нашел в Интернете, которые, кажется, пытаются решить мою проблему , Некоторые из них не сработали. Большинство из них используют ключевые слова, классы и т. Д., Которые мне не доступны в моих текущих библиотеках, и они не перечисляют соответствующие библиотеки. Насколько я знаю, я уже наткнулся на правильный ответ. Но для кого-то вроде меня с очень логичным умом, но и с почти нулевым опытом работы в этой области, я не могу сосредоточиться на этом.
Мой POST-запрос с использованием fetch в JavaScript:
fetch('api/Database/PushStatus',
{
method: 'post',
headers: { 'Content-type': 'application/json' },
body: JSON.stringify({ order: this.state.orderNum, status: this.state.newStatus })
}
).then(response => {
response.json().then(data => {
this.setState({ reqCheck: "" + response, didPush: false });
})
}).catch(err => {
this.setState({ reqCheck: "Failure! (js)", didPush: false })
});
И обработка моего запроса на моем сервере C #:
[Route("api/[controller]/[action]")]
public class DatabaseController : Controller
{
string conStri = "Data Source=ADM293\\MSSQLSERVER01;Initial Catalog=testDB;User ID=sa;Password=password.1";
SqlConnection cnct = null;
[HttpPost]
public void PushStatus(string order, string status)
{
cnct = new SqlConnection(conStri);
SqlCommand command = new SqlCommand("insert into testTable values ('" + order + "', '" + status + "');", cnct);
using (cnct)
{
cnct.Open();
int result = command.ExecuteNonQuery();
cnct.Close();
}
}
}
Я бы хотел, чтобы мой сервер обновлялся содержимым this.state.orderNum
и this.state.newStatus
.
Вместо этого мой сервер обновляется пустыми строковыми значениями (что имеет смысл).