#javascript #ajax #.net-core #fetch
#javascript #ajax #.net-ядро #выборка
Вопрос:
Я сделал запрос post ajax на стороне сервера. запрос поступил на сервер, но полученные параметры пусты / нулевые.
понятия не имею, почему это происходит, проблема, вероятно, в сервере. перепробовал много решений, но ничего не изменилось.
Я надеюсь, что некоторые из вас могут мне помочь.
fetch('Home/AddMovie', {
method: 'POST',
headers: {
'Accept': 'application/json',
'Content-Type': 'application/json',
},
body: JSON.stringify({
movie: data_object
}),
}).then(res => res.text())
.then(text => {
})
.catch((error) => {
console.error('Error:', error);
});
[HttpPost]
public void AddMovie(Movie movie)
{
var movies = new List<Movie>();
var newJson = "";
using (StreamReader r = new StreamReader(JsonFilePath))
{
string json = r.ReadToEnd();
movies = JsonConvert.DeserializeObject<List<Movie>>(json);
movies.Add(movie);
newJson = JsonConvert.SerializeObject(movies, Formatting.Indented);
}
System.IO.File.WriteAllText(JsonFilePath, newJson);
}
Ответ №1:
Это сработает
public void AddMovie([FromBody] Movie movie) { }
Редактировать:
Удалите JSON.stringify(), просто назначьте сам объект
Комментарии:
1. после удаления JSON. Stringfy —> body: {data_object} . параметр movie равен null в действии контроллера.