0

我尝试了所有的努力,但就是不明白错误在哪里。我也搜索了谷歌,但没有找到任何好的解决方案。它实际上并没有在 mvc 中调用控制器/动作。在项目的其他部分也运行良好。

我在文件夹“MVC”下有一个控制器“RB”,动作定义为“SS”。我正在从我的 javascript 文件中触发以下代码:

var sSch = function (request, response) {
        var t = request.RF.substring(0, 1);
        var d = new Date(request.RNR);            
        $.ajax({
            url: "/MVC/RB/SS",
            type: "POST",
            dataType: "json",
            data: {
                _rId: request.ReportId,
                _date: d.toString(),
                _fcy: t
            },
            success: function (data) {
                alert('Success');

            },
            error:  function (data) {
                alert('Error');

            }
        });
    }; 

我在按钮的单击上调用此函数并正确获取请求变量中的值,但无论如何它不会在那里调用控制器/操作。在我测试的萤火虫上,它抛出异常“ReferenceError:url未定义”。我在 VS 2010 下使用 MVC3。

请帮忙。

4

3 回答 3

0

对于您拥有 'MVC/RB/SS' 的 url,这与您当前的目录相关,快速测试将是放入 url: "../MVC/RB/SS" 或 url: "../../MVC /RB/SS" 取决于您的页面在站点结构中的深度。

另一种方法是试试这个:

 url: "@Action("/MVC/RB/SS")",

这将为您创建正确级别的正确 url,并且应该被拾取。

于 2012-12-17T17:07:06.437 回答
0

您必须正确定义您的操作,而不是

 url: "/MVC/RB/SS",  

利用

 url:  @Url.Action("SS", "RB")
于 2012-12-17T17:01:56.473 回答
0

尝试这个:

url: "~/MVC/RB/SS",  

这将解析为路径“http://site-name/MVC/RB/SS”。

萤火虫说什么?

于 2012-12-17T18:02:34.520 回答