Проблема с вызовом контроллера WebApi из js ajax - PullRequest
0 голосов
/ 19 октября 2018

В моем приложении ASP.NET MVC у меня проблема с вызовом контроллера WebAPI с помощью оператора ajax.

Вот мой код:

    $.ajax({
        url: 'api/cartitems',
        type: self.cartItem.id == null ? 'post' : 'put',
        contentType: 'application/json',
        data: ko.toJSON(data)
    })
    .done(self.successfulSave)
    .fail(self.errorSave)

Выдает ошибку 404 - файл не найден.

Я тестировал разные возможности, и только одна из них работает, использует целоеURL-путь.

    $.ajax({
        url: 'http://xx.yyy.zz.vvv/APP_NAME/api/cartitems',
        type: self.cartItem.id == null ? 'post' : 'put',
        contentType: 'application/json',
        data: ko.toJSON(data)
    })
    .done(self.successfulSave)
    .fail(self.errorSave)

Можно ли не использовать полный путь?

Ответы [ 2 ]

0 голосов
/ 22 октября 2018

Интересно, есть ли ошибка в конфигурации ASP.NET MVC.В среде разработчика это работает с упрощенным URL в вызове ajax.И я не могу поверить, что Microsoft заставляет разработчиков настраивать URL-адреса в каждой производительной системе.

0 голосов
/ 19 октября 2018

Бьюсь об заклад, конструкция Url.Action будет работать.Он связывается с вашей конфигурацией маршрутизации для создания действительного URL.

В .JS Script

 url:'@Url.Action("api","cartitems")',

В .xxhtml

url:'@Model.YourPostabckUrlVariable',
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...