从javascript调用C#rest服务

时间:2017-06-01 17:14:58

标签: javascript c# ajax rest asp.net-web-api

如何从js ajax调用中调用此类方法?

我应该以不同的方式制作这种方法吗?

要调用的URL是什么?

namespace X.Controllers
{
    [RoutePrefix("api/user")]
    public class UserController : ApiController
    {


        [Route("signup")]
        [HttpPost]
        public async Task<IHttpActionResult> SignUp(LoginModel model)
        {
            if (model == null || !model.IsValid())
            {
                return Content(HttpStatusCode.BadRequest, new Error("Invalid email and/or password"));
            }
        }
    }
}

2 个答案:

答案 0 :(得分:1)

网址为api/user/signup(RoutePrefix + Route),您需要将LoginModel属性传递给它。

您可以使用jquery在javascript中调用它:

$.ajax({
    url:"api/user/signup",
    type:"POST",
    data:data,
});

答案 1 :(得分:0)

如果您想使用核心javacript执行此操作,您的代码将如下所示:

<button type="submit" onclick="UserAction()">Search</button>

function PostData()
{
    var xhttp = new XMLHttpRequest();
    xhttp.open("POST", "api_url_here", false);  //Method Type
    xhttp.setRequestHeader("Content-type", "application/json");
    xhttp.send();
    var response = JSON.parse(xhttp.responseText);
}

和JQuery:

$.ajax({
   url: "api_url",
   type: "POST", //Method Type
   data: DATA//Data to post
});