この質問をもう一度します....正しい答えが得られないため...私が得る答えは間違っています。
私は 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 のバグですか?