#asp.net #axios
#asp.net #axios
Вопрос:
Я перепробовал все разные синтаксисы, которые смог найти, но это либо 405/415, либо пустая строка. Сеть показывает статус 200 и форму данных: {"name":"test"}
:
Спасибо за ваше время!
const user = {
name: 'test'
};
axios(
{
method: 'POST',
url: `https://localhost:44348/api/user/AddUser`,
contentType: 'application/json',
dataType: 'json',
data: JSON.stringify(user)
})
.then(res => {
console.log(user); // {name: "test"}
console.log(res); // {data: "", status: 200, statusText: "", headers: {…}, config: {…}, …}
console.log(res.data); // empty string
})
консоль:
{name: "test"}
{data: "", status: 200, statusText: "", headers: {…}, config: {…}, …}
Контроллер (asp.net api):
[HttpPost]
[Route("AddUser")]
public void Post1(string obj)
{
memory.Add(new User() { Id = Guid.NewGuid().ToString(), UserName = obj, Password = "343454" });
}
Комментарии:
1. В чем ваш вопрос? В вашем коде указано, что вы получаете
200
код ответа и получаете данные.2. Я получаю пустую строку вместо ‘test’
3. База данных на конце api также получает пустую строку
4. Вы имеете в виду в
data
ключе возвращаемого объекта? Я думаю, вам придется поделиться большей частью вашего серверного кода5. да, как вы думаете, что было бы уместно?
Ответ №1:
Контроллер, который возвращает void, выдаст EmptyResult .
Журнал выглядит так, как будто он показывает объект ответа axios, что означает, что тело ответа сервера находится в поле данных. Вы можете изменить свой контроллер, чтобы возвращать ActionResult и возвращать ответ следующим образом, который должен возвращать объект user .
[HttpPost] [Route("AddUser")]
public ActionResult Post1(string obj)
{
var user = new User() { Id = Guid.NewGuid().ToString(), UserName = obj, Password = "343454" };
memory.Add(user);
return Ok(user);
}