Как вызвать метод веб-API из URL-адреса приложения mvc?

0

Сценарий в моем приложении MVC в проекте и проекте web api в отдельном проекте. Оба проекта находятся в одних и тех же решениях. Мой веб-проект api с UserManagerAPIController. Он имеет метод CreateUser. Я хочу получить доступ к CreateUser из UserManagerAPIController в My MVC-контроллере. Я хочу передать данные JSON для создания пользователя. Я пытаюсь в моем Index.aspx в проекте mvc вызвать это:

function SendCustomer() {
                var parameters = { "FirstName": "John", "LastName": "Doe", "Username": "johndoe","Password" :"john@123"}

                $.ajax({
                    contentType: 'application/json',    
                    url: "UserManager/CreateUser",                       
                    type: "POST",
                    data: JSON.stringify(parameters),
                    success: function (data) {

                    },
                    error: function (xhr) {
                        alert(xhr.toString());
                    }
                });
            }

Но не удалось применить метод CreateUser в другом проекте. В чем проблема?

  • 0
    Другой проект находится в другом домене? Если возвращаемое значение не JSONP, вы не сможете выполнить кросс-домен.
Теги:
asp.net-mvc
asp.net-web-api

1 ответ

0
Лучший ответ

Есть много предложений,

  1. Почему вы создали два проекта? WebApi может легко управлять в приложении MVC.
  2. Для вызова web api вам необходимо использовать URL-адрес /api/UserManager.
  3. Также требуется следовать методу формы. если вы упомянули аннотацию [HttpGet] на CreateUser, вы должны использовать метод Get form при вызове этого api.
  4. Если вы не хотите интегрировать webapi в приложение MVC, это вызовет ошибку при совместном использовании ресурсов на основе перекрестных ссылок. для этого вам нужно будет определить CreateUser как аннотацию [EnableCors].

Для справки проверьте это - http://www.asp.net/web-api/overview/security/enabling-cross-origin-requests-in-web-api

Ещё вопросы

Сообщество Overcoder
Наверх
Меню