如何从jquery路由到控制器api?
我有一个无法解决的问题 我有一个文本框。对于这个文本框,我有一个jquery自动完成函数。Jquery正在工作,但无法运行 错误代码为404,因此我的路由无法正常工作。 我希望有人能帮助我。 多谢各位 Jquery如何从jquery路由到控制器api?,jquery,asp.net-core,routes,asp.net-core-mvc,Jquery,Asp.net Core,Routes,Asp.net Core Mvc,我有一个无法解决的问题 我有一个文本框。对于这个文本框,我有一个jquery自动完成函数。Jquery正在工作,但无法运行 错误代码为404,因此我的路由无法正常工作。 我希望有人能帮助我。 多谢各位 Jquery <script> $(document).ready(function () { $("#TabakName").autocomplete({ source: 'api/tabaksuche/search
<script>
$(document).ready(function () {
$("#TabakName").autocomplete({
source: 'api/tabaksuche/search',
});
});
</script>
[HttpGet(“搜索”)]
属性重写控制器的路由。因此,您的操作将通过/search而不是/api/tabaksuche/search进行访问。
将您的HttpGet
属性更改为[HttpGet(“api/TabakSuche/search”)]
将解决您的问题
控制器:
[HttpGet("api/TabakSuche/search")]
public async Task<IActionResult> Search()
{
...
}
上面的代码将始终生成正确的路线
您可以阅读更多信息。您是否检查了浏览器的调试器以了解此请求发送到哪个地址?似乎您必须将
源
参数更改为/api/tabaksuche/search
。这是调试器中的GET Url。我也尝试过/api/tabaksuche/search,但没有成功。非常感谢。成功了。我将明确阅读有关Url的信息。操作助手:)
app.UseEndpoints(endpoints =>
{
endpoints.MapControllerRoute(
name: "default",
pattern: "{controller=Home}/{action=Index}/{id?}");
});
}
[HttpGet("api/TabakSuche/search")]
public async Task<IActionResult> Search()
{
...
}
<script>
$(document).ready(function () {
$("#TabakName").autocomplete({
source: '@Url.Action("Search", "Tabaksuche")',
});
});
</script>