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');

            }
        });
    }; 

ボタンのonClickでこの関数を呼び出し、Request変数の値を適切に取得していますが、コントローラー/アクションを呼び出していません。私がテストしたfirebugで、例外「ReferenceError:urlisnotdefined」がスローされます。VS2010でMVC3を使用しています。

助けてください。

4

3 に答える 3

0

これを試して:

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

これはパス「http:// site-name / MVC / RB/SS」に解決されます。

Firebugは何と言っていますか?

于 2012-12-17T18:02:34.520 に答える
0

代わりに、アクションを適切に定義する必要があります

 url: "/MVC/RB/SS",  

使用する

 url:  @Url.Action("SS", "RB")
于 2012-12-17T17:01:56.473 に答える
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 に答える