Rumah > pembangunan bahagian belakang > C++ > Mengapa Saya Mendapat Ralat 401 Tanpa Kebenaran Semasa Memanggil ASP.NET WebMethod dengan jQuery AJAX?

Mengapa Saya Mendapat Ralat 401 Tanpa Kebenaran Semasa Memanggil ASP.NET WebMethod dengan jQuery AJAX?

Susan Sarandon
Lepaskan: 2025-01-05 13:28:41
asal
426 orang telah melayarinya

Why Am I Getting a 401 Unauthorized Error When Calling an ASP.NET WebMethod with jQuery AJAX?

Panggilan WebMethod Tanpa Kebenaran dengan ASP.NET dan jQuery AJAX

Penerangan Isu

Pengguna menghadapi ralat kebenaran (401) apabila cuba memanggil WebMethod dalam ASP.NET menggunakan jQuery AJAX. Mesej ralat biasanya berbunyi sebagai "Pengesahan gagal."

Latar Belakang

WebMethod diisytiharkan dalam WebForm sebagai:

[WebMethod]
public static string GetClients(string searchTerm, int pageIndex) { /*...*/ }
Salin selepas log masuk

Walau bagaimanapun, apabila memanggil WebMethod dengan:

$.ajax({ /*...*/
    url: "ConsultaPedidos.aspx/GetClients",
    /*...*/
});
Salin selepas log masuk

pelayar bertindak balas dengan 401 Tanpa Kebenaran ralat.

Penyelesaian

Penyelesaian kepada isu ini melibatkan melumpuhkan mekanisme ubah hala automatik dalam ASP.NET:

  1. Navigasi ke ~/App_Start/RouteConfig.cs.
  2. Cari baris:

    settings.AutoRedirectMode = RedirectMode.Permanent;
    Salin selepas log masuk
  3. Tukar kepada:

    settings.AutoRedirectMode = RedirectMode.Off;
    Salin selepas log masuk

    Sebagai alternatif, anda boleh mengulas keluar baris.

Pengubahsuaian Tambahan:

Jika URL mesra didayakan dalam permohonan, anda juga mesti menukar:

url: "ConsultaPedidos.aspx/GetClients",
Salin selepas log masuk

kepada:

url: '<%= ResolveUrl("ConsultaPedidos.aspx/GetClients") %>',
Salin selepas log masuk

Penjelasan:

Secara lalai, ASP.NET mengubah hala secara automatik tanpa kebenaran permintaan ke halaman log masuk. Melumpuhkan tingkah laku ini membolehkan panggilan WebMethod diteruskan.

Atas ialah kandungan terperinci Mengapa Saya Mendapat Ralat 401 Tanpa Kebenaran Semasa Memanggil ASP.NET WebMethod dengan jQuery AJAX?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan