Html.Action 来自 Javascript 包含 js 变量作为参数

Html.Action from Javascript include js var as parameter

我在调用方法时遇到问题。我可以用下面的代码来做,但是如何在我的调用中放入 js 变量?

            $.ajax({
                url: '@Url.Action("surfacepost", "surface", new { text = "ThisSchouldBeAJaVar" })',
                method: 'GET',
                success: function (data) {

                }
            });

事实上,正如我要展示的那样,这个方法正在变得不完整。因此,如果有更好的使用 js 动态加载部分的方法,也请告诉我。 谢谢

问题是'@Url.Action()'方法是由.NET执行的,在页面发送到浏览器之前,它不知道页面上有任何javascript ,并且页面有'left the server'

后,方法的执行不能受到javascript即运行的影响

您可以做的是创建一个占位符,并将其替换为 javascript:

var url = '@Url.Action("surfacepost", "surface", new { text = "placeholder" })'
url.replace('placeholder', ThisSchouldBeAJaVar);

$.ajax({   
url: url,
    method: 'GET',
    success: function (data) {

    }
});

或者您可以只键入 url 并附加变量:

$.ajax({   
url: '/surface/surfacepost/?text=' + ThisSchouldBeAJaVar,
    method: 'GET',
    success: function (data) {

    }
});