J'utilise ASP.NET Core et, dans ma vue d'index, je souhaite modifier la valeur d'une variable lorsque je clique sur un bouton. J'ai une classe qui a une propriété nommée "Estado". Sur mon index, j'ai une carte avec différents marqueurs, et chaque marqueur a une fenêtre d'information qui a trois boutons ("Aceitar", "Recusar", "Concluido"). Lorsque je clique sur l'un de ces boutons, je veux changer la valeur de la variable "Estado" en une autre valeur en fonction du bouton sur lequel on clique. Voici la fonction sur mon index :
function atualizaBD(id, novoEstado) {
$.ajax
({
url: '/api/IgnicoesAPI',
type: 'PUT',
datatyoe: JSON.stringify({
id: +id,
novoEstado: +novoEstado
}),
success: function (result) {
//What do I do here
})
},
error: function () {
alert("ocorreu um erro!")
},
});
}
Je ne sais pas comment utiliser la requête PUT. Voici la requête PUT sur mon contrôleur :
//// PUT: api/IgnicoesAPI/5
[HttpPut("{id}")]
public async Task<IActionResult> PutIgnicoes([FromRoute] int id, [FromBody] Ignicoes ignicoes)
{
if (!ModelState.IsValid)
{
return BadRequest(ModelState);
}
if (id != ignicoes.Id)
{
return BadRequest();
}
_context.Entry(ignicoes).State = EntityState.Modified;
try
{
await _context.SaveChangesAsync();
}
catch (DbUpdateConcurrencyException)
{
if (!IgnicoesExists(id))
{
return NotFound();
}
else
{
throw;
}
}
return NoContent();
}
Vous devez réparer quelques choses. Le type de données est le type de réponse que vous vous attendez à recevoir. ContentType correspond au type de données que vous envoyez. Si vous souhaitez transmettre des données à votre demande qui nécessitent l'identifiant de la route, vous devez les transmettre à l'url. Si vous souhaitez transmettre des données comme des objets, vous devez les transmettre à l'option de données. Plus d'informations dans la documentation .
Code après corrections :
function atualizaBD(id, novoEstado) {
$.ajax
({
url: `/api/IgnicoesAPI/${id}`,
type: 'PUT',
data: JSON.stringify({
id: +id,
novoEstado: +novoEstado
}),
success: function (result) {
//What do I do here
})
},
error: function () {
alert("ocorreu um erro!")
},
});
}
Cet article est collecté sur Internet, veuillez indiquer la source lors de la réimpression.
En cas d'infraction, veuillez [email protected] Supprimer.
laisse moi dire quelques mots