我正在尝试从局部视图发送POST Ajax。 这是我的部分观点:
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<link href="../css/simple-sidebar.css" rel="stylesheet" type="text/css" />
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.4.0/css/font-awesome.min.css">
<link rel="stylesheet" href="~/css/simple-sidebar.css">
<div id="sidebar">
<div class="toggle-btn" onclick="toggleSidebar()">
<span></span>
<span></span>
<span></span>
</div>
<div id="links">
<a href="" onclick='MainTabs()' id="tab1">tab1</a>
</div>
</div>
<script type="text/javascript">
function MainTabs() {
console.log('first');
$(document).ready(function () {
$.ajax({
url: "/Main/getddl",
type: "POST",
dataType: "json",
success: function (response) {
console.log(Session["switch"]);
console.log('ok');
},
failure: function (response) {
console.log('error');
}
});
});
}
</script>
这是父.cs代码:
公共类MainModel:PageModel {
public void getddl()
{
HttpContext.Session.SetString("ddl", "ddl");
}
}
我在控制台上打印了“ first”(第一)字样,但随后立即出现错误,错误也不再存在并在几秒钟内消失。
POST https:// localhost:33444 / getddl 404
答案 0 :(得分:0)
我发现问题是由这种情况引起的。我有侧边栏,并且有一种方法可以激活它:
function toggleSidebar() {
document.getElementById("sidebar").classList.toggle('active');
}
由于此侧边栏是活动类,因此它不了解主页。 一旦其中一项单击,我尝试删除活动的类,但还没有成功。
$(document).ready(function () {
$('#MainTabs').click(function () {
//e.preventDefault();
//$('.sidebar a').removeClass('active');
//$(this).addClass('active');
var id = $(this).attr("id");
$('#' + id).siblings().find(".active").removeClass("active");
$('#' + id).addClass("active");
localStorage.setItem("selectedolditem", id);
var fullName = $('#texboxFullName').val();
alert(id);
$.ajax({
type: 'GET',
data: { fullName: fullName },
url: '@Url.Page("Main", "Demo2")',
success: function (result) {
$('#result2').html(result);
}
})
});
});
有帮助吗?