1

この質問をもう一度します....正しい答えが得られないため...私が得る答えは間違っています。

私は MVC アプリケーションを開発しており、かみそりの構文を使用しています。選択した項目をドロップダウン リストの値から取得し、それをコントローラー メソッドに渡そうとしています。

しかし、私はエラーが発生しています。

$("#btnForword").click(function(){
    d =  document.getElementById("HODList").value;

    var url2 = "@Html.Raw(Url.Action("SendPaymentAdviceForApproval", "PaymentAdvice", new { paymentAdviceId = "idValue" , nHOD = "d" }))";
    url2 = url2.replace("idValue",'@Model.Id');
    url2 = url2.replace("d",'@d');

    $.ajax({
        url: url2, type: "POST", success: function (data) {
            $("#btnForword").css("display","none");

        }
    });
    return false;
});

この行のエラーだと思います...

   url2 = url2.replace("d",'@d');

問題が解決しました 問題が解決しました

変数「D」の問題は「D」にあります。

コンソールウィンドウで見たとき、Google chrome の inspect element プロパティを使用して確認しました... ボタンをクリックすると、次のように形成された文字列が表示されます。

  http://localhost:54255/PaymentAdvice/SendPaymentAdviceForApproval?paymentAdviceId=304&nHO8=D

jquery-1.7.1.min.js:4

上記のリンクの最後の文字を参照してください。「=D」として来るべきではありませんね。

私は以下のコードを使用しました...そしてそれは完全に機能します。

$("#btnForword").click(function(){

            var url2 = "@Html.Raw(Url.Action("SendPaymentAdviceForApproval", "PaymentAdvice", new { paymentAdviceId = "idValue" , nHOD = "HODId" }))";
            url2 = url2.replace("idValue",'@Model.Id');
            url2 = url2.replace("HODId",$('#HODList').val());


            $.ajax({
                url: url2, type: "POST", success: function (data) {
                    $("#btnForword").css("display","none");

                }
            });
            return false;
        });

これは Jquery のバグですか?

4

2 に答える 2