繁体   English   中英

从 asp.net 核心 razor 页面中的部分视图发送 ajax 发布请求

[英]send ajax post request from partial view in asp.net core razor pages

我正在尝试从部分视图发送 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>

这是 parent.cs 代码:

公共 class MainModel:PageModel {

    public void getddl()
    {
        HttpContext.Session.SetString("ddl", "ddl");
    }

}

我在控制台中打印了“第一个”,但随后立即出现错误,错误也不会保留并在几秒钟内消失。

发布 https://localhost:33444/getddl 404

我发现问题导致了这种行为。 我有侧边栏,并且有一种方法可以激活它:

function toggleSidebar() {
        document.getElementById("sidebar").classList.toggle('active');
    }

由于这个侧边栏是活动的 class,它对主页一无所知。 单击其中一个项目后,我尝试删除活动的 class ,但尚未成功。

$(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);
                }
            })
        });
    });

有什么帮助吗?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM