如何从mvc应用程序http url调用web api方法?

时间:2014-05-12 06:06:59

标签: jquery asp.net-mvc asp.net-web-api

我在一个项目中的MVC应用程序和单独项目中的web api项目中的场景。这两个项目都在相同的解决方案中。我的web api项目有UserManagerAPIController。它有CreateUser方法。我想从My MVC控制器中的UserManagerAPIController访问CreateUser。我想传递JSON数据来创建用户。 我正在尝试在mvc项目中的Index.aspx中调用它:

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方法。应该是什么问题?

1 个答案:

答案 0 :(得分:0)

有很多建议,

  1. 为什么你做了两个项目? WebApi可以在MVC应用程序中轻松管理。
  2. 要调用web api,您必须使用/api/UserManager网址。
  3. 还需要遵循表单方法。如果您在[HttpGet]上提到CreateUser注释,则必须在调用此API时使用获取表单方法。
  4. 如果您不想在MVC应用程序中集成webapi,则会抛出跨源资源共享错误。为此,您必须将CreateUser定义为[EnableCors]注释。
  5. 供参考检查 - http://www.asp.net/web-api/overview/security/enabling-cross-origin-requests-in-web-api