Panggilan Ajax tidak mencapai jalur url di pengontrol/aksi

pemrograman


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:

JavaScript
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:

JavaScript
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

JavaScript
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…

C#
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

コメント

タイトルとURLをコピーしました