Хорошо, после того, как долго возился с этим, я придумал это «решение».
Так как @Niladri указал на «» перед JSON.stringify (j) был фактором, нобыло не единственной вещью, которую нужно было изменить.Основная проблема была на самом деле в самом контроллере.
У меня было это ранее в моем контроллере:
public async Task<string> UpdateProfileSettings(int id,[FromBody] string obj)
{
HttpClient clientRoute = new HttpClient();
var response = await clientRoute.PutAsync("https://something.com/api/UserSettings/put/" + id, new StringContent(obj, Encoding.UTF8, "application/json"));
var contents = await response.Content.ReadAsStringAsync();
return contents;
}
Но мне пришлось изменить его на:
public async Task<string> UpdateProfileSettings(int id,[FromBody] object obj)
{
HttpClient clientRoute = new HttpClient();
var response = await clientRoute.PutAsync("https://something.com/api/UserSettings/put/" + id, new StringContent(obj.ToString(), Encoding.UTF8, "application/json"));
var contents = await response.Content.ReadAsStringAsync();
return contents;
}
Обратите внимание на изменение [FromBody] string obj
на [FromBody] object obj
, а также на StringContent(obj, Encoding.UTF8, "application/json"))
на StringContent(obj.ToString(), Encoding.UTF8, "application/json"))
Мой предыдущий метод с «» до JSON.stringify (j) работает, если ваш контроллер [FromBody] имеетстроковый тип, и вы не хотите закачивать в контроллер строку, похожую на JSON.
Я прошу прощения, если это плохое объяснение, но старался изо всех сил, и это сработало для меня