jquery - 将 ASP.NET MVC 与 JQuery 结合使用时不硬编码 url 的最佳方法

标签 jquery asp.net-mvc url

大家好,

我正在将 ASP.NET MVC 与 jquery 结合使用,目前一切进展顺利。只是,有一个问题一直困扰着我。我应该如何处理 jquery 方法中的 url?我真的不想对其进行硬编码,如下所示:

 $(function() {  
        $.getJSON("/Home/List", function(data) {  
            var items = "---------------------";  
            $.each(data, function(i, country) {  
                items += "" + country.Text + "";  
            });  
            $("#Countries").html(items);  
        });  

       $("#Countries").change(function() {  
           $.getJSON("/Home/States/List/" + $("#Countries > option:selected").attr("value"), function(data) {  
               var items = "---------------------";  
               $.each(data, function(i, state) {  
                   items += "" + state.Text + "";  
               });  
               $("#States").html(items);  
           });  
       });  
   });  

强烈建议使用 HTML 帮助器方法在 MVC 中创建链接,例如 Html.ActionLink、Html.BeginForm,这样万一有人更改将 HomeController 映射到 MyHome 而不是 Home 上,就不会有问题。

那么,如何不像示例中那样对 URL 进行硬编码呢?

另外,我不想使用 ASP.NET Ajax,因为我同意这个答案 asp-net-ajax-vs-jquery-in-asp-net-mvc .

谢谢

最佳答案

您可以定义多个全局 JavaScript 变量:

<script type="text/javascript">
    var listUrl = '<%= Url.Action("Index", "Home") %>';
    var statesListUrl = '<%= Url.Action("States", "Home") %>';
</script>

稍后将由 $.getJSON 方法使用。

关于jquery - 将 ASP.NET MVC 与 JQuery 结合使用时不硬编码 url 的最佳方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1425999/

相关文章:

asp.net-mvc - 如何将 ModelBinder/UpdateModel 方法中的子对象字段列入白名单/黑名单?

html - 在 OCaml 中读取 URL 的 HTML 内容

php - 不确定 URL 是如何在 php 网站中构建的

php - 带有条件小节的多页 AJAX 表单

jquery - 拖动链接以使用 Jquery 动态创建文本框

javascript - 在 Telerik MVC 中使用客户端传递参数

mysql - 使用 Identity 从同一数据库检索数据

jQuery .css() 没有获得背景位置 w/o!在 css 中很重要

javascript - 将鼠标悬停在一个 div 上,影响另一个 div 中图像的不透明度(使用 jquery)

python - 将 url 读取为带有列名的 pandas 数据框 (python3)