Jquery ajax没有在jquery函数内部调用

时间:2014-07-03 17:56:51

标签: jquery asp.net ajax

我有一个带有方法的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");火了。

非常感谢你。

1 个答案:

答案 0 :(得分:0)

如果您检查控制台(按F12然后在FF和Chrome中选择控制台),您应该会看到这会导致语法错误

    $.ajax({

      alert("checkAjax");

        type: "POST",

$.ajax()需要PlainObject。您已在其中添加alert("checkAjax");,使语法无效。删除它。

    $.ajax({
        type: "POST",
        url: "AltaDeReserva.aspx/test",