Javascript ajaxurl不';不适用于不同控制器文件夹中的操作

Javascript ajaxurl不';不适用于不同控制器文件夹中的操作,javascript,ajax,asp.net-mvc,json,asp.net-mvc-5,Javascript,Ajax,Asp.net Mvc,Json,Asp.net Mvc 5,请查看硬编码的ajax URL,它可以工作,但通常的URL(注释)不工作!如何指定这样的url将ajax调用定向到不同的控制器文件夹 即使使用硬编码url,我也无法在调用ajax请求的视图中将json数据设置为模式弹出标签。但是警报可以正常工作 这有多奇怪,或者我在这里犯了什么错误 我的剧本: $("#img_xx_info").click(function () { $.ajax({ type: 'GET', //url: '@

请查看硬编码的ajax URL,它可以工作,但通常的URL(注释)不工作!如何指定这样的url将ajax调用定向到不同的控制器文件夹

  • 即使使用硬编码url,我也无法在调用ajax请求的视图中将json数据设置为模式弹出标签。但是警报可以正常工作

  • 这有多奇怪,或者我在这里犯了什么错误

    我的剧本:

    $("#img_xx_info").click(function () {
    
            $.ajax({
                type: 'GET',
                //url: '@Url.Action("action1","controller2")', //doesnt work
                url: "../controller2/action1",   //works
                dataType: "JSON",
                success: function (data) {
                    alert(data);
                    var obj = JSON.parse(data);
                    alert(obj.count);//works
    
             $("#value_xy_Id").val = obj.count;//doesnt work this #value_xy_Id is a part of modal lable
    
                }
            });       
            $("#myModal").modal('show');  
    
        });
    
    我的MVC结构:

    ----内容

    css在这里

    ----剧本

    ajax脚本位于此处(需要调用controller2/action1以返回json结果) ----控制器

        >A      -controller1controller(action1,2,3..)
    
        >B      -controller2controller(action1,2,3..) // return Json(data, JsonRequestBehavior.AllowGet);
    
        >C      -controller3controller(action1,2,3..)
    
    -------观点


    您从服务器得到了什么响应?似乎您正在脚本文件中调用此
    Url.Action
    。是这样吗?如果是的话,那就行不通了。ASP.NET MVC视图引擎不会处理脚本文件,因此您在其中放置的任何Razor代码都不会被触动,并将保持原样。您可能希望在视图中定义一些js变量,将URL放在其中,然后在脚本文件中使用此变量。
        >A      -file1.cshtml
    
        >B      -file1.cshtml
    
        >C      -file1.cshtml ("#img_xx_info" click event here invokes below scripts + modal popup here to get json into table)