2017-06-01 59 views
-4

如何从js ajax调用中调用此类方法?从javascript调用C#rest服务

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

什么是要调用的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")); 
      } 
     } 
    } 
} 
+0

以下是要拨打的网址:https://www.google.com/?gws_rd=ssl#newwindow=1&q=how+to+call+a+rest+api+from+ja vascript&SPF = 1496337926161 –

回答

1

的网址是api/user/signup(RoutePrefix +路由),你需要将LoginModel特性传递给它。

您可以用jQuery调用它在JavaScript这样的:

$.ajax({ 
    url:"api/user/signup", 
    type:"POST", 
    data:data, 
}); 
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 
});