为什么 Ajax 代码不会在点击或加载时触发
why Ajax code not trigger on click or load
谢谢大家。
我是编码 MVC 的新手,我正在尝试编写一个页面,该页面将使用 JSON (MenuHandler.ashx) 中的数据创建并
作为父子循环, JSON 数据已经过测试,没问题,但是 Ajax 不工作。
谨记:警报在 Ajax
之前和之后工作
这是我的浏览页面:
<script type="text/javascript">
$(document).ready(function () {
$("#testaj1").click(function () {
alert ("test22")
$.ajax({
url: 'MenuHandler.ashx',
method: 'get',
dataType: 'json',
success: function (data) {
buildMenu($('#menu'), data)
$('#menu').menu();
}
});
alert("test33")
});
function buildMenu(parent, items) {
$.each(items, function () {
var li = $('<li>' + this.Name + '</li>');
li.appendTo(parent);
if (this.List && this.List.length > 0) {
var ul = $('<ul></ul>');
ul.appendTo(li);
buildMenu(ul, this.List);
}
})
}
})
</script>
<link href="~/Content/MyCSS/MyCSS.css" rel="stylesheet" />
@model IEnumerable<pedigree.Models.pedigree1>
@{
Layout = null;
}
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width" />
<script src="https://code.jquery.com/jquery-3.5.1.min.js" integrity="sha256-9/aliU8dGd2tb6OSsuzixeV4y/faTqgFtohetphbbj0=" crossorigin="anonymous"></script>
<script src="~/Scripts/jquery-3.5.1.js"></script>
<script src="~/Scripts/jquery.unobtrusive-ajax.js"></script>
<title>Index</title>
</head>
<body>
<p>
@Html.ActionLink("Create New", "Create")
</p>
<form>
<button id="testaj1" type="button" >test</button>
<div class="tree">
<ul id="menu">
</ul>
</div>
</form>
最常见的原因是您指向的控制器,也许控制器 uri 不正确,还要确保您的控制器返回 JSON。
感谢大家,正如亚历杭德罗·科罗纳多所说,问题出在 handler.ashx 文件中,我现在不知道为什么不起作用,但是当我改用 json 结果操作时
Ajax 成功了,结果符合我的预期
谢谢大家
谢谢大家。
我是编码 MVC 的新手,我正在尝试编写一个页面,该页面将使用 JSON (MenuHandler.ashx) 中的数据创建并
谨记:警报在 Ajax
之前和之后工作这是我的浏览页面:
<script type="text/javascript">
$(document).ready(function () {
$("#testaj1").click(function () {
alert ("test22")
$.ajax({
url: 'MenuHandler.ashx',
method: 'get',
dataType: 'json',
success: function (data) {
buildMenu($('#menu'), data)
$('#menu').menu();
}
});
alert("test33")
});
function buildMenu(parent, items) {
$.each(items, function () {
var li = $('<li>' + this.Name + '</li>');
li.appendTo(parent);
if (this.List && this.List.length > 0) {
var ul = $('<ul></ul>');
ul.appendTo(li);
buildMenu(ul, this.List);
}
})
}
})
</script>
<link href="~/Content/MyCSS/MyCSS.css" rel="stylesheet" />
@model IEnumerable<pedigree.Models.pedigree1>
@{
Layout = null;
}
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width" />
<script src="https://code.jquery.com/jquery-3.5.1.min.js" integrity="sha256-9/aliU8dGd2tb6OSsuzixeV4y/faTqgFtohetphbbj0=" crossorigin="anonymous"></script>
<script src="~/Scripts/jquery-3.5.1.js"></script>
<script src="~/Scripts/jquery.unobtrusive-ajax.js"></script>
<title>Index</title>
</head>
<body>
<p>
@Html.ActionLink("Create New", "Create")
</p>
<form>
<button id="testaj1" type="button" >test</button>
<div class="tree">
<ul id="menu">
</ul>
</div>
</form>
最常见的原因是您指向的控制器,也许控制器 uri 不正确,还要确保您的控制器返回 JSON。
感谢大家,正如亚历杭德罗·科罗纳多所说,问题出在 handler.ashx 文件中,我现在不知道为什么不起作用,但是当我改用 json 结果操作时 Ajax 成功了,结果符合我的预期
谢谢大家