我试图在触发ajax发布后执行警报,我正在使用下一个脚本进行ajax调用:
<script type="text/javascript">
$('.sbmIngresoGrupo').on('click', function () {
var Tipo = $('.Tipo').val();
var Categoria = $('.Categoria').val();
var Monto = $('#Monto').val();
$.ajax({
type: "POST",
url: "@Url.Action("AgregarGrupo", "AjaxPosts")",
beforeSend: function (xhr) {
xhr.setRequestHeader("XSRF-TOKEN",
$('input:hidden[name="__RequestVerificationToken"]').val());
},
data: JSON.stringify({
Tipo: Tipo,
Categoria: Categoria,
Monto: Monto
}),
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (response) {
alert('Funciono');
},
failure: function (response) {
alert('No se insertaron los datos deseados.');
}
});
});
我的控制器是下一个:
public IActionResult AgregarGrupo([FromBody] GruposKm gruposKm, ConexionDB _conexion)
{
#region Data
gruposKm.Activo = "S";
gruposKm.Fecha = DateTime.Now;
gruposKm.Responsable = HttpContext.Session.GetString("User");
gruposKm.Codigo = "Código";
#endregion
using (SqlConnection conn = new SqlConnection(_conexion.Chain("", "")))
{
try
{
conn.Open();
using (SqlCommand cmd = new SqlCommand("[PCK].[P_INSERT_GRUPO_KM]", conn))
{
try
{
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.AddWithValue("CODIGO",gruposKm.Codigo);
cmd.Parameters.AddWithValue("@TIPO", gruposKm.Tipo);
cmd.Parameters.AddWithValue("@CATEGORIA", gruposKm.Categoria);
cmd.Parameters.AddWithValue("@MONTO", gruposKm.Monto);
cmd.Parameters.AddWithValue("@ACTIVO", gruposKm.Activo);
cmd.Parameters.AddWithValue("@RESPONSABLE", gruposKm.Responsable);
cmd.ExecuteNonQuery();
}
catch (Exception ex)
{
Debug.WriteLine("Error {1}: " + ex);
throw;
}
finally
{
conn.Close();
}
}
}
catch (Exception ex)
{
Debug.WriteLine("Error {0}: " + ex);
throw;
}
}
List<GruposKm> lista = new List<GruposKm>();
lista.Add(gruposKm);
return new JsonResult(lista);
}
这里的问题是,当执行ajax操作时,成功函数未触发,这是非常奇怪的原因,因为它第一次运行时使用相同的代码是完美的,但是现在不再起作用了