Как исправить 'Параметр обратного вызова не был предоставлен в URI запроса.' ошибка в методе записи ajax и в asp.net api при использовании кросс-домена - PullRequest
0 голосов
/ 24 июня 2019

Я пытаюсь реализовать страницу, используя ajax POST, PUT и метод удаления с кросс-доменом. У меня проблема с возвратом ответного сообщения клиенту с сервера.

если контроллер возвращает httpStausCode без какого-либо дополнительного сообщения, ошибка не появляется, но с некоторым дополнительным сообщением я получаю сообщение об ошибке на стороне сервера «Параметр обратного вызова не предоставлен в URI запроса.»

Код запроса

$("#myTable").on('click', '.deleteCandidate', function (e) {
            e.preventDefault();
            $.ajax({
                type: "DELETE",
                url: 'http://localhost:59838/api/candidate/' + $(this).data("id"),
                content: "application/json; charset=utf-8",
                crossDomain: true,
                dataType: "json",
                success: function (data, textStatus, jqXHR) {
                    console.log(data);
                    console.log(textStatus);
                    console.log(jqXHR);
                },
                error: function (xhr, textStatus, error) {
                    console.log(xhr.statusText);
                    console.log(textStatus);
                    console.log(error);
                }
            });
        });

Код сервера

public HttpResponseMessage Delete(int id)
        {
            try
            {
                using (MutliTiersDataBaseEntities entities = new MutliTiersDataBaseEntities())
                {
                    var entity = entities.Candidates.FirstOrDefault(e => e.Id == id);

                    if (entity != null)
                    {
                        entities.Candidates.Remove(entity);
                        entities.SaveChanges();
                        return Request.CreateResponse(HttpStatusCode.OK, "Candidate with id = "+ id.ToString() +" has been deleted");
                    }
                    else
                    {
                        return Request.CreateErrorResponse(HttpStatusCode.NotFound, "Candidate with Id:" + id.ToString() + " not exist");
                    }
                }
            }
            catch (Exception ex)
            {
                return Request.CreateErrorResponse(HttpStatusCode.BadRequest, ex);

            }
        }

Я ожидаю, что на выходе будет код состояния 200, сообщение Кандидат с id = xx было удалено, но я получаю сообщение об ошибке

1 Ответ

0 голосов
/ 27 июня 2019

Лучший способ включить междоменный домен без jsonp

для более подробной информации: введите описание ссылки здесь

...