在MVC4中调用Ajax后页面未被修改

时间:2013-05-04 14:44:53

标签: jquery ajax asp.net-mvc-4 razor asp.net-web-api

您好我是AJAX和MVC的新手。我试图从MVC中的WebAPi应用程序接收数据使用Jquery与AJAx页面,但我有问题页面不更新数据,但当我检查Visual Studio的输出我看到它收到良好并给出HTTP状态200“OK”,但页面中没有数据显示

这里是Page

的代码
@{
    ViewBag.Title = "Index";
    <script src="~/Scripts/jquery-ui-1.8.24.min.js">

    </script>
}


    <script type="text/javascript">
        $(document).ready(function ()
        {
            $.ajax(
                {
                    type:'GET',
                    url: 'http://localhost:45624/api/Vehicles/',
                    datatype:'json',
                    sucess: function(data){
                        $.each(data, function (index,element) {
                            $("#grid").append("<tr><td>" + element.Maker + "</td><td>" + element.Model + "</td><td>"
                                + element.BodyType + "</td><td>" + element.Drivers + "</td><td>"
                                + element.AquisitionDate + "</td><td>" +
                                "<tr>");
                        });
            }
}


                );
        });
    </script>


<h2>All Companies</h2>

<table id="#grid"><tr>
    <td>Maker</td><td>Model</td><td>Body Type</td><td>Drivers</td>
    <td>AqusitionDate</td><td>Images</td><td>Schedules</td><td>Maintenances</td>

       </tr>

   </table>

我尝试使用提醒,但当我尝试谷歌浏览器并添加错误选项时,我需要刷新3次以获取错误我正在使用IE10进行调试

1 个答案:

答案 0 :(得分:0)

知道了!

每次我写一些jquery ajax代码时,我总是仔细检查我的拼写。

他们已对id="#grid"内容发表了评论,但$.ajax没有名为sucess的成员。 datatype应为dataType。您现在应该注意到Javascript是区分大小写的。

sucess替换为success,将datatype替换为dataType。 你的代码应该是这样的:

   $(document).ready(function ()
    {
        $.ajax(
            {
                type:'GET',
                url: 'http://localhost:45624/api/Vehicles/',
                dataType:'json',
                success: function(data){
                    $.each(data, function (index,element) {
                        $("#grid").append("<tr><td>" + element.Maker + "</td><td>" + element.Model + "</td><td>"
                            + element.BodyType + "</td><td>" + element.Drivers + "</td><td>"
                            + element.AquisitionDate + "</td><td>" +
                            "<tr>");
                    });
              }
          });
    });

Brotip:我认为http://localhost:45624/api/Vehicles/可以写成@Url("Vehicles", "api")。我不记得哪个是对的:@Url("Vehicles", "api")@Url("api", "Vehicles")。你有一天会用它,试着写下来。