猿问

使用ASP.NET MVC进行jquery-调用启用了Ajax的Web服务

这是一个有点的延续以前的问题。


现在,我试图调用已在ASP.NET MVC应用程序(即MovieService.svc)中定义的启用AJAX的Web服务。但是,从来没有在我的getMoviesjavascript函数中调用该服务。


如果我在非ASP.NET MVC应用程序中尝试该调用AJAX Web服务的相同技术,则可以正常工作,因此它使我怀疑ASP MVC路由在尝试进行AJAX Web服务调用时是否会以某种方式干扰事物。 。


您是否知道为什么没有调用我的Web服务?下面的代码。


    <script src="<%= ResolveClientUrl("~/scripts/jquery-1.4.2.min.js") %>" type="text/javascript"></script>


    <script src="<%= ResolveClientUrl("~/scripts/grid.locale-en.js") %>" type="text/javascript"></script>


    <script src="<%= ResolveClientUrl("~/scripts/jquery-ui-1.8.1.custom.min.js") %>"

        type="text/javascript"></script>


    <script src="<%= ResolveClientUrl("~/scripts/jquery.jqGrid.min.js") %>" type="text/javascript"></script>


    <script type="text/javascript">

        var lastsel2;


        function successFunction(jsondata) {

            debugger

            var thegrid = jQuery("#editgrid");

            for (var i = 0; i < jsondata.d.length; i++) {

                thegrid.addRowData(i + 1, jsondata.d[i]);

            }

        }


        function getMovies() {

            debugger

            // ***** the MovieService#GetMovies method never gets called

            $.ajax({

                url: 'MovieService.svc/GetMovies',

                data: "{}",  // For empty input data use "{}",

                dataType: "json",

                type: "GET",

                contentType: "application/json; charset=utf-8",

                success: successFunction

            });

        }


慕码人8056858
浏览 941回答 3
3回答

萧十郎

这是因为在global.asax中注册的路由将无法识别此.svc文件。它将尝试使用动作getmovies搜索该控制器,并且将失败。尝试使用Firebug进行调试。您可以通过在global.asax中忽略此路由来解决此问题
随时随地看视频慕课网APP
我要回答