繁体   English   中英

将参数传递给 window.location.href 失败

[英]Passing parameter to window.location.href fails

我试图将当前登录的 Azure AD 用户身份传递给 ajax 方法,以便它可以用作window.location.href的输入参数

@section Scripts {
    <script type="text/javascript">
    $("#button").click(function () {
        var orderedQuantity = $("#txt").val();
        var orderId = $("#orderId").val();
        var data = {
            orderId: orderId,
            orderedQuantity: orderedQuantity,
        }
        var loggedUser = @User.Identity.Name;

        $.ajax({
            type: 'POST',
            url: '@Url.Action("EditItem", "Orders")',
            data: data,
            dataType: "json",
            success: function (result) {
                if (result.status === "NotAvailable") {
                   $("#errorMessage").val("Enter a valid Quantity");
                }
                else {
                    var url = '@Url.Action("Index", "Orders")';
                    window.location.href = url + "?custEmail="+loggedUser;
                }
            },
            error: function (error) {
                    alert(error);
                }
        });
    });
    </script>

我正在存储@User.Identity.Name; loggedUser变量中并将其用作window.location.href = url + "?custEmail="+loggedUser;的输入参数window.location.href = url + "?custEmail="+loggedUser; . 它抛出错误,如Uncaught SyntaxError: Invalid or unexpected token

在此处输入图片说明

任何人都可以说我是否在这里遗漏了任何东西。我正在将输入参数传递给其他地方的订单页面,但它在 ajax 方法中失败。 我什至试着喜欢下面

var loggedUser = User.Identity.Name;

它甚至会出错,比如Uncaught ReferenceError: User is not defined

在此处输入图片说明

谁能建议我在这里缺少什么

请添加引号,如下所示:

var loggedUser = "@User.Identity.Name";  //or `@User.Identity.Name` 

暂无
暂无

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

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