gpt4 book ai didi

javascript - $ 工作正常,但 $.ajax 不是一个函数(不是 slim)

转载 作者:行者123 更新时间:2023-12-02 23:32:36 25 4
gpt4 key购买 nike

我的 jQuery 代码有一些问题。我加载 jQuery(not slim)并且 $.ajax 失败。 '$' 和 'jQuery' 工作正常。

也许这是一个 super 简单的解决方案,但我找不到......

这是我的项目中第一次使用 jQuery。

Uncaught TypeError: $.ajax is not a function

Uncaught TypeError: jQuery.ajax is not a function

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
<script>
$(document).ready(function () {
$("#ddlBoard").on("change", function () {
$list = $("#ddlRow");
$.ajax({
url: "Settings/row",
type: "GET",
data: { id: $("#ddlBoard").val() }, //id of the state which is used to extract cities
traditional: true,
success: function (result) {
console.log(result)
$list.empty();
$.each(result, function (i, item) {
$list.append('<option value="' + item["CityId"] + '"> ' + item["Name"] + ' </option>');
});
},
error: function () {
console.log("err")
alert("Something went wrong call the police");
}
});
});
});
</script>

...整个事情是asp.net core MVC 这里更多...

<form asp-controller="Settings" asp-action="Login" method="post">
<select id="ddlBoard" name="board">
@if (userIndex == 0 || userData[userIndex].ProjectId == null)
{
<option selected disabled value="-1">Plantafel auswählen</option>
}
@for (int i = 0; i < projectData.Count; i++)
{
if (userIndex != 0 && userData[userIndex].ProjectId == projectData[i].Idx)
{
<option selected value="@projectData[i].Idx">@projectData[i].projectName</option>
}
else
{
<option value="@projectData[i].Idx">@projectData[i].projectName</option>
}
}
</select>



<!--Row-->
<!--todo update this after project change and show only rows from one project-->
<select id="ddlRow" name="row">
@if (userIndex == 0 || userData[userIndex].RowId == null)
{
<option selected disabled value="-1">Zeile auswählen</option>
}
@for (int i = 0; i < rowData.Count; i++)
{
if (userIndex != 0 && userData[userIndex].RowId == rowData[i].Idx)
{
<option selected value="@rowData[i].Idx">@rowData[i].RowName</option>
}
else
{
<option value="@rowData[i].Idx">@rowData[i].RowName</option>
}
}
</select>
</form>

Code as Screenshot

最佳答案

ASP.NET Core MVC _Layout.cshtml 文件在 @RenderBody() 之后但 @RenderSection 之前的文件末尾加载精简版本的 jquery。

<!-- jQuery CDN - Slim version (=without AJAX) -->
<script src="https://code.jquery.com/jquery-3.3.1.slim.min.js" integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo" crossorigin="anonymous"></script>

Slim version (=without AJAX)

捂脸

用“正常”导入替换 slim 导入

感谢 filipe,可以测试正确的版本。只需在出现问题的位置执行 console.log(jQuery.fn.jquery);

关于javascript - $ 工作正常,但 $.ajax 不是一个函数(不是 slim),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56429835/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com