我有一个带有方法的aspx表单。当我点击一个复选框时,一个事件在jquery中为该复选框触发,在里面我想调用一个从代码隐藏中调用该方法的ajax函数。
jquery事件触发问题是我认为内部的ajax没有被调用。
$(document).ready(function () {
$('#chkReservaSemanal').change(function () {
if ($("#chkReservaSemanal").is(":checked")) {
alert("checkEvent");
$.ajax({
alert("checkAjax");
type: "POST",
url: "AltaDeReserva.aspx/test",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (response) {
alert("success");
},
failure: function (response) {
alert(response.d);
}
});
}
});
});
这是代码隐藏方法。
[WebMethod]
public void test()
{
u = (Usuario)Session["Usuario"];
int idUsuario = u.IdUsuario;
//c = (Cancha)Session["CanchaReserva"];
//int idCancha = c.IdCancha;
String precio = calcularPrecioReserva(idUsuario, Convert.ToInt32(ddlCanchas.SelectedValue)).ToString();
if (precio == "0")
{
llbPrecioValor.Text = "La reserva no tiene costo.";
}
else
{
llbPrecioValor.Text = precio;
}
}
*代码隐藏方法在代码隐藏中调用时有效。 *警告(" checkAjax");不开火。 *警告(" checkEvent");火了。
非常感谢你。
答案 0 :(得分:0)
如果您检查控制台(按F12然后在FF和Chrome中选择控制台),您应该会看到这会导致语法错误
$.ajax({
alert("checkAjax");
type: "POST",
$.ajax()
需要PlainObject。您已在其中添加alert("checkAjax");
,使语法无效。删除它。
$.ajax({
type: "POST",
url: "AltaDeReserva.aspx/test",