Javascript 如何将媒体从文本/普通更改为应用程序/json?
当我从JavaScript向API(asp.net WebApi)发送数据时,返回以下错误:此资源不支持请求实体的媒体类型“text/plain”。我想以JSON格式发送数据Javascript 如何将媒体从文本/普通更改为应用程序/json?,javascript,c#,api,Javascript,C#,Api,当我从JavaScript向API(asp.net WebApi)发送数据时,返回以下错误:此资源不支持请求实体的媒体类型“text/plain”。我想以JSON格式发送数据 The JavaScript code: let newReservation = { "name" : name, "emai" : email, "phone" : phone, "people" : people, "date" : date, "time" : tim
The JavaScript code:
let newReservation = {
"name" : name,
"emai" : email,
"phone" : phone,
"people" : people,
"date" : date,
"time" : time
}
data = JSON.stringify(newReservation)
reservation = JSON.parse(data)
let Http = new XMLHttpRequest
let url = 'https://localhost:44320/api/reservations'
Http.open('POST', url)
Http.send(reservation)
console.log()
Http.onreadystatechange=(e)=>{
console.log(Http.responseText)
}
The C# code:
Controller:
public IHttpActionResult Post([FromBody]Reservation reservation)
{
if (!ModelState.IsValid)
{
return BadRequest(ModelState);
}
expressoDbContext.Reservations.Add(reservation);
expressoDbContext.SaveChanges();
return StatusCode(HttpStatusCode.Created);
}
Config:
config.Formatters.Remove(config.Formatters.XmlFormatter);
config.Formatters.JsonFormatter.SerializerSettings.Formatting =
Newtonsoft.Json.Formatting.Indented;
您需要在
XMLHttpRequest
中设置Content-Type
标题:
Http.setRequestHeader("Content-Type", "application/json;charset=UTF-8");
您需要在
XMLHttpRequest
中设置Content-Type
标题:
Http.setRequestHeader("Content-Type", "application/json;charset=UTF-8");
将HTTP请求头设置为
**内容类型:application/json**
。
你必须加上这一行
HTTP.setRequestHeader(“内容类型”、“应用程序/json”)代码>
将HTTP请求头设置为**内容类型:application/json**
。
你必须加上这一行
HTTP.setRequestHeader(“内容类型”、“应用程序/json”)代码>
添加到您的代码中。此答案将帮助您添加内容类型
标题。此答案将帮助您添加内容类型
标题。