代码之家  ›  专栏  ›  技术社区  ›  leora Matt Lacey

当jquery post不触发ASP.NET MVC控制器操作时,调试的最佳方法是什么?

  •  1
  • leora Matt Lacey  · 技术社区  · 14 年前

    我在控制器操作上放置了一个断点,但它从不触发。是否仍要捕获jquery日志上的错误?

    以下是我的jquery javascript代码:

      <script type="text/javascript">
        $(document).ready(function() {
    
            $('#commitExerciseButton').live('click', function() {
    
                $.post($("#exerciseForm").attr('action'), $("#exerciseForm").serialize(), function(data) {
    
                    $("#exercise").html("<h1>Exercise Added</h1>");
                    $("#tabs-2").html(data);
    
                });
                return false;
            });
        });
    </script>
    

    编辑:

    我解决了这个问题。我必须这样做:

    $(“练习表单”).serialize()) 而不是 $(“exerciseForm”).serialize()。

    2 回复  |  直到 13 年前
        1
  •  4
  •   Jan Jongboom    14 年前

    如果你能用的话 $.ajax 相反,您可以定义一个eror回调并查看返回的内容,此外,一个类似firebug for firefox的工具对于查看正在发布的内容非常有用,这里是一个 link 显示Ajax调用和错误回调

        2
  •  0
  •   Edison Chuang    13 年前

    这可能是导致该操作在ASP.NET MVC项目中甚至未被激发的原因之一。您的操作是否只接受Post请求?javascript调用是否为您的操作生成正确的参数?你的行为需要防伪令牌吗?有一个 tool 可以帮助你检查或只是仔细检查所有细节的眼睛。