jQuery   发布时间:2022-03-30  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了与JQuery,asp.net-MVC控制器的问题大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个(我认为是愚蠢的)问题.

我有一个控制器,索引方法,它的视图有一些JQuery函数.

它工作正常,JQuery方法工作得很好.

我使用的链接

http://localhost:54209/TestInput/

但如果我放

http://localhost:54209/TestInput/Index

JQuery函数不起作用.据我所知,他们应该采取完全相同的行动.

这是我唯一改变的事情

我非常感谢你的帮助.在过去的几个小时里,这让我发疯了!

例如,这是我的脚本

<script>
  $(document).ready(function() {
    $('select#testCategoriesUniqueId').change(function() {
        var testCategory = $(this).val();
        $.ajaxSetup({ cache: false });
         alert ("AAA");
        $.ajax({
            url: "TestInput/listTestCases/" + testCategory,dataType: "json",type: 'post',success: function(data) {
                $("#testCasesUniqueId").removeOption(/./);
                for (var i = 0; i < data.length; i++) {
                    var val = data[i].Value;
                    var text = data[i].Text;
                    $("#testCasesUniqueId").addOption(val,text,false);
                }
            }
        });
    });
});

在这两种情况下,我都会收到警报,但在第二个链接中,我无法呼叫控制器.

它不会调用我的控制器的listTestCases方法.

更新:

所以我尝试使用参数而不是确切的链接,
我仍然有问题,我有两个来源,并得到差异,唯一的区别是

<form name="aspnetForm" method="post" action="Index" id="aspnetForm">

<form name="aspnetForm" method="post" action="TestInput" id="aspnetForm">

<form action="/TestInput/Index" method="post">

<form action="/TestInput" method="post">

我相信与jQuery无关.

在这两种情况下我仍然看到了laert.
但是JQuery在〜/ TestInput中工作而不是〜/ TestInput / Index.

解决方法

这就是为什么你不应该在asp.net mvc应用程序中硬编码网址的原因.
你的问题是你的ajax网址是一个相对网址.
当你使用url http://example.com/TestInput/加载页面时,ajax url最终会像 http://example.com/TestInput/TestInput/listTestCaseshttp://example.com/TestInput/listTestCases那样

当您使用网址http://example.com/TestInput/Index时,您的ajax网址最终为http://example.com/TestInput/Index/TestInput/listTestCases

你应该使用其中一个Html助手来声明这样的ajax url. (使用剃刀语法)

<script>
  $(document).ready(function() {
    $('select#testCategoriesUniqueId').change(function() {
        var testCategory = $(this).val();
        $.ajaxSetup({ cache: false });
         alert ("AAA");
        $.ajax({
            url: "@Url.Action("listTestCases")"+ "/" + testCategory,false);
                }
            }
        });
    });
});
</script>

ASPX View引擎的更新:

如果您使用的是Razor提供的ASPX视图引擎,请使用此语法.

<script>
  $(document).ready(function() {
    $('select#testCategoriesUniqueId').change(function() {
        var testCategory = $(this).val();
        $.ajaxSetup({ cache: false });
         alert ("AAA");
        $.ajax({
            url: "<%=Url.Action("listTestCases")%>"+ "/" + testCategory,false);
                }
            }
        });
    });
});
</script>

请务必使用Firebug或F12开发工具仔细检查您需要的确切网址.

大佬总结

以上是大佬教程为你收集整理的与JQuery,asp.net-MVC控制器的问题全部内容,希望文章能够帮你解决与JQuery,asp.net-MVC控制器的问题所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: