现在,我意识到这个问题可能会被否决,因为它并不是真正的直接问题。我对C#和JavaScript非常有信心...因此,我决定最终学习ASP.net(.net框架)。我了解API和AJAX调用的作用,例如处理数据和启动API函数以检索数据。但是,如何在一个项目中将两者联系在一起?
这是WEBAPI.config
namespace SignalRDbUpdates
{
public static class WebApiConfig
{
public static void Register(HttpConfiguration config)
{
config.MapHttpAttributeRoutes();
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{id}",
defaults: new { id = RouteParameter.Optional }
);
}
}
}
这是我尚未设置任何API的API,只是想知道如何开始对此API进行AJAX调用...也许现在只是将字符串返回到警报框即可。
namespace DotNetFramework.Controllers.API
{
public class TestAPI : ApiController
{
// GET api/<controller>
public IEnumerable<string> Get()
{
return new string[] { "value1", "value2" };
}
// GET api/<controller>/5
public string Get(int id)
{
return "value";
}
// POST api/<controller>
public void Post([FromBody]string value)
{
}
// PUT api/<controller>/5
public void Put(int id, [FromBody]string value)
{
}
// DELETE api/<controller>/5
public void Delete(int id)
{
}
}
}
这是AJAX调用,URL发布使我感到困惑,并且也希望扩展AJAX
$.ajax({
method: 'POST',
url: '?',
success: function()
{
alert('Working');
},
error: function()
{
alert('Error');
}
});
总而言之,我想知道如何将API与AJAX结合使用实际上在调用和发送数据以及从API检索和获取数据的基本层次上如何工作。 URL部分是我最困惑的地方。
答案 0 :(得分:0)
如果您查看脚手架的代码,尤其是注释的项目,它应该可以为您提供所需的内容。
例如
// GET api/<controller>
public IEnumerable<string> Get()
这意味着打到该端点,您的URL:/api/teSTaPi
(故意显示大小写无关紧要)用GET
。脚手架注释中的Controller
名称= <controller>
(又名“占位符”),在这种情况下为TestAPI
(您的控制器类名称)。
TestController
,因此您可以使用/api/test/
在Web API中,方法和参数的默认名称(或没有默认名称)将映射到协议(GET
,POST
等)和特定的方法调用。
REF:Routing in ASP.NET Web API
Hth ...