【发布时间】:2021-01-18 22:02:52
【问题描述】:
我有一个无法解决的问题。
我有一个文本框。对于这个文本框,我有一个 jquery 自动完成功能。 Jquery 正在工作,但得到 错误代码 404,所以我的路由无法以某种方式工作。 我希望有人能帮助我。 谢谢
jQuery
<script>
$(document).ready(function () {
$("#TabakName").autocomplete({
source: 'api/tabaksuche/search',
});
});
</script>
控制器
{
[Route("api/[controller]")]
[ApiController]
public class TabakSucheController : ControllerBase
{
private readonly HookahContext hookahContext;
public TabakSucheController(HookahContext _hookahContext)
{
hookahContext = _hookahContext;
}
[Produces("application/json")]
[HttpGet("search")]
public async Task<IActionResult> Search()
{
try
{
string term = HttpContext.Request.Query["term"].ToString();
var postTabak = hookahContext.TabakSuches.Where(p => p.TabakNameInventar.Contains(term)).Select(p => p.TabakNameInventar).ToList();
return Ok(postTabak);
}
catch
{
return BadRequest();
}
}
}
}
启动
app.UseEndpoints(endpoints =>
{
endpoints.MapControllerRoute(
name: "default",
pattern: "{controller=Home}/{action=Index}/{id?}");
});
}
【问题讨论】:
-
您是否检查了浏览器的调试器以找出该请求发送到的地址?看来您必须将
source参数更改为/api/tabaksuche/search。 -
localhost:44347/api/tabaksuche/search?term=a 这是调试器中的 GET Url。我也试过 /api/tabaksuche/search 但没有成功..
标签: jquery asp.net-core routes asp.net-core-mvc