Ajax-звонка в webapi не происходит - PullRequest
0 голосов
/ 29 сентября 2018

Я следую этому учебнику по kudvenkat

Я создал проект 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 Iполучить данные.Я даже установил точку останова здесь.Следовательно, когда вышеуказанный 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 голосов
/ 14 декабря 2018

Вы включили CorsAttribute?Если нет, добавьте его глобально или с помощью метода Get

    [EnableCors(origins:"*",headers:"*",methods:"*")]
    public HttpResponseMessage Get()
    {
        //method body
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...