[英]When button is clicked, the database is updated
我有這個界面
單擊其中一個按鈕時,它會更新數據庫。 例如,我有一個名為“Estado”的變量,默認情況下是“emAvaliacao”,但是當按下“Aceite”按鈕時,“Estado”會變為“Aceite”。
以下是我使用的功能:
function atualizaBD(idmarcador, novoEstado) {
$.ajax
({
url: `/api/IgnicoesAPI/${idmarcador}`,
type: 'PUT',
contentType: "application/json; charset=utf-8",
data: JSON.stringify({
Id: +idmarcador,
Estado: novoEstado
}),
success: function (result) {
connection.invoke("PostMarker").catch(function (err) {
return console.error(err.toString());
});
},
error: function () {
alert("ocorreu um erro!")
}
});
}
這是 PUT function:
[HttpPut("{id}")]
public async Task<IActionResult> PutIgnicoes([FromRoute] int id, [FromBody] Ignicoes ignicao)
{
if (!ModelState.IsValid)
{
return BadRequest(ModelState);
}
if (id != ignicao.Id)
{
return BadRequest();
}
var dataDecisao = DateTime.Now;
var ig = _context.Ignicoes.FirstOrDefault (ignicaoId => ignicaoId.Id.Equals(id));
if (ig != null)
{
ig.Estado = ignicao.Estado;
ig.DataDecisaoIgnicao = dataDecisao;
}
try
{
await _context.SaveChangesAsync();
}
catch (DbUpdateConcurrencyException)
{
if (!IgnicoesExists(id))
{
return NotFound();
}
else
{
throw;
}
}
return NoContent();
}
現在它給了我一個錯誤 400,我不知道為什么或如何解決這個問題。 有人能幫我嗎?
嘗試使用調試來定位導致異常的特定行。
url
您是否發布了通往您的行動PutIgnicoes
的路線?
從郵政編碼我看不到正確的屬性路由[HttpPut("~/api/IgnicoesAPI/{id}")]
檢查您發布到操作的參數。
數據:JSON.stringify({ ID:+idmarcador,Estado:novoEstado }),
public async Task<IActionResult> PutIgnicoes([FromRoute] int id, [FromBody] Ignicoes ignicao)
錯誤 400 主要是由於return BadRequest();
在你的行動中。 您應該調試以查看有效負載並檢查數據是否可以綁定到 Ignicoes model。
如果還是有問題。 請展示使用Ignicoes
class 和請求負載。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.