Ajax调用webapi不会发生

时间:2018-09-29 18:15:44

标签: ajax asp.net-web-api

我正在关注this kudvenkat tutorial

我创建了WebApi项目并具有Get方法。

public HttpResponseMessage Get()
{
   List<Student> students;
   List<StudentVM> studentsvm = new List<StudentVM>();
   using (SchoolEntities sc = new SchoolEntities())
   {
   students= sc.Students.ToList<Student>();
   }
        foreach (Student s in students)
        {
          StudentVM svm = new StudentVM { Sid = s.Id, Sname = s.Name };
          studentsvm.Add(svm);
        }
return Request.CreateResponse(HttpStatusCode.OK, studentsvm);
}

使用URL请求http://localhost:3735/api/values,我得到了数据。我什至在这里设定了一个断点。因此,当刷新上面的URL时,会遇到断点。 在同一项目中,我创建了一个html页面,并具有以下代码。

<script type="text/javascript">
    $(document).ready(function (e)
     {
      var ulemp = $('#ulemp');
      $('#showemp').click(function () {
            $.ajax({
                type: 'GET',
                Url: 'http://localhost:3735/api/values',
                datatype: 'json',
                success: function (data, jqXHR) {
                    console.log(jqXHR);
                    ulemp.empty();
                    ulemp.append(data.value);
                },
                error: function () {
                    console.log("There is an Error");
                }
            })
        });
    });
</script>

<body>
<button id="showemp" name="showbtn"> Show Employees</button>
<button id="clear" name="clearbtn">Clear</button>
<p id="ulemp"></p>
</body>

但是我没有任何错误也没有任何回应。我经历了许多与WebApi和Ajax调用有关的堆栈溢出问题。大部分问题尚未解决,有些已解决,但有一些小错误,我已经证实了这一点。

当前我正在将VS2012与jquery 1.7.1一起使用

如果有人能指出我所缺少的内容,我真的很感激。

1 个答案:

答案 0 :(得分:0)

您启用了CorsAttribute吗?如果没有,则将其添加到全局或Get方法

    [EnableCors(origins:"*",headers:"*",methods:"*")]
    public HttpResponseMessage Get()
    {
        //method body
    }