[ad_1]
Untuk acara dropdown OnChange, saya melakukan panggilan ajax. Di jalur url, ketika saya memberikan jalur Pengontrol/Aksi, metode itu tidak mengenai metode sama sekali.
Kode saya terlihat seperti:
function FillHO() { //alert('Test'); var stateId = $('#ddlHO').val(); $.ajax({ type: "POST", url: '@Url.Action("SetSelectedHO","../../Controllers/ReportsController")' contentType: "application/json; charset=utf-8", dataType: "json", data: '{SelectedValue: "' + stateId + '" }', success: function (response) { alert('Test'); }, failure: function (response) { alert(response.d); } }); }
Apa yang saya coba:
Saya telah mencoba ‘../../Controllers/ReportsController/SetSelectedHO’
‘ReportsController/SetSelectedHO’
Solusi 2
Anda tidak perlu menentukan jalur saat menggunakan Url.Action()
metode. Anda perlu menentukan Controller
nama sebagai gantinya.
Jadi, jika Anda memiliki Controller
yang bernama ReportsController, maka Anda bisa mencoba melakukan sesuatu seperti ini:
url: '@(Url.Action("SetSelectedHO","Reports"))'
Perhatikan bahwa akhiran Controller dihilangkan saat merujuk a Controller
nama. Dengan kata lain, milikmu ReportsController
dapat dirujuk sebagai Reports
hanya. Itu bagian dari konvensi.
Untuk informasi lebih lanjut tentang metode kelebihan beban lainnya Url.Action()
metode lihat:Metode UrlHelper.Action (System.Web.Mvc)[^]
Solusi 3
Terselesaikan.
Ini berfungsi tanpa memberikan referensi pengontrol di url
url: "SetSelectedHO",
Terima kasih.
Solusi 1
Gunakan alat pengembang (F12 di Chrome) untuk memeriksa JavaScript yang dimiliki klien. Anda mungkin menemukan URL yang diberikan untuk panggilan tersebut tidak sesuai dengan yang Anda harapkan.
Melakukan hal ini…
url: '@Url.Action("SetSelectedHO","../../Controllers/ReportsController")'
… menghasilkan URL yang valid? Sepertinya Anda menyetel literal dan bukan nilai kembalian dari metode @URL.Action.
Solusi 4
Ini berhasil untuk saya:
url:’../Pengontrol/aksi’
Solusi 6
Terima kasih atas solusi 4 bentuknya, di laravel di ubuntu
[ad_2]
コメント