Rumah >pembangunan bahagian belakang >C++ >Mengapa ASP.NET WebMethod Saya Mengembalikan Ralat '401 (Tidak Dibenarkan)' Apabila Dipanggil melalui jQuery AJAX?

Mengapa ASP.NET WebMethod Saya Mengembalikan Ralat '401 (Tidak Dibenarkan)' Apabila Dipanggil melalui jQuery AJAX?

Barbara Streisand
Barbara Streisandasal
2025-01-04 04:59:40432semak imbas

Why Does My ASP.NET WebMethod Return a

ASP.NET Memanggil WebMethod dengan jQuery AJAX Returns "401 (Tidak Diizinkan)"


Satu isu telah dihadapi semasa mencuba untuk memanggil WebMethod dalam ASP.NET Webform menggunakan jQuery AJAX, mengakibatkan mesej ralat "401 (Tidak Dibenarkan)".

WebMethod yang dimaksudkan, GetClients, ditakrifkan seperti berikut:

[WebMethod]
rentetan statik awam GetClients(string searchTerm, int pageIndex)
{

// ...

}

WebMethod ini sedang digunakan daripada jQuery AJAX seperti berikut:

fungsi GetClients (pageIndex) {

$.ajax({
    // ...

}

Walau bagaimanapun, apabila membuat permintaan AJAX, ralat berikut berlaku:

POST http:// localhost:64365/ConsultaPedidos.aspx/GetClients 401
(Tidak dibenarkan)

Siasatan lanjut mendedahkan bahawa ralat ini timbul selepas melaksanakan pengesahan pengguna dalam aplikasi web. Konfigurasi pengesahan ditakrifkan seperti berikut:

<system.web></p>
<pre class="brush:php;toolbar:false"><authentication mode="Forms">
    <forms loginUrl="~/Account/Login" timeout="2880" defaultUrl="/Dashboard" />
</authentication>
<authorization>
    <deny users="?" />
</authorization>

Untuk menyelesaikan isu ini, langkah-langkah berikut ialah diambil:

  1. Lumpuhkan Pengalihan Automatik: Dalam fail ~/App_Start/RouteConfig.cs, ulas atau tukar baris berikut:

< ;pra>tetapan.AutoRedirectMode = RedirectMode.Permanent;

  1. Kemas kini URL AJAX: Jika URL mesra didayakan, kemas kini URL AJAX jQuery untuk menggunakan ResolveUrl:

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

Dengan melaksanakan perubahan ini, ralat "401 (Tidak Dibenarkan)" telah dihapuskan dan WebMethod boleh berjaya dipanggil menggunakan jQuery AJAX.

Atas ialah kandungan terperinci Mengapa ASP.NET WebMethod Saya Mengembalikan Ralat '401 (Tidak Dibenarkan)' Apabila Dipanggil melalui jQuery AJAX?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

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