0

私の C# MVC4 アプリケーションには、"Index" と "Index_Perm" という 2 つのメイン ビューがあります。ログインしたユーザーの役割によって、これらのビューのどれがレンダリングされるかが決まります。"Index" には "PMain" というビューが含まれ、Index_Perm" には "PMain_Lim" というビューが含まれます。"PMain" と "PMain_Lim" には "Analysis" という別の部分ビューが含まれます。"Analysis" の内部には、次のスクリプトがあります。

<script type="text/javascript" charset="utf-8">
    $(document).ready(function () {
        $('#SubmitAverage').click(function () {
            var $form = $('#form1');
            $.ajax({
                type: "POST",
                url: "Home/Average",
                data: $form.serialize(),
                success: function () {
                    alert("Edit successful");
                },
                error: function () {
                    alert('failure');
                }
            });
        });
    });
    </script>

私の問題は、「インデックス」がアクセスされるメイン ビューである場合、[送信] ボタンをクリックすると、このスクリプトが正しく実行されることです。ただし、「Index_Perm」がメイン ビューの場合、ボタンをクリックすると、AJAX 投稿が次のエラーで失敗しますThe resource you are looking for has been removed, had its name changed, or is temporarily unavailable. The directory or file specified does not exist on the Web server.。 私のスクリプトのPOST。スクリプトに関連付けられたボタンを含む「PMain」と「PMain_Lim」で同一のコードの該当部分を次に示します。 mylocalhost/Home/Index_Perm/Home/Averagemylocalhost/Home/Average

    <div id="Analysis" title="Analysis">
        @Html.Action("Analysis", "Home", Model)
    </div>
</section>
<section>
         <h3>
            <button class="btn" id="SubmitAverage" value ="SubmitAverage" name="action:SubmitAverage" type="button">Submit Averages</button>
        </h3>
    </section>
<section>
    <div id="OtherView" title="OtherView" class="OtherChanges">
        @Html.Action("OtherView", "Home", (string)ViewBag.SearchKey)
    </div>
</section>

JQuery AJAX POSTで使用するURLとして指定したものを無視する理由、および/またはそれを修正する方法はありますか?

4

1 に答える 1

1

ajax 投稿で urlhelper を使用する

url: '@Url.Action("Average","Home")',
于 2013-04-24T03:07:59.207 に答える