ASP.NET WebMethod Call with jQuery AJAX Returns "401 (Unauthorized)"
Isu ini berlaku apabila memanggil WebMethod dalam ASP.NET dengan jQuery AJAX selepas melaksanakan pengesahan pengguna dalam aplikasi. Pengguna disahkan, tetapi panggilan WebMethod gagal dengan ralat 401 (Tidak Dibenarkan).
Untuk menyelesaikan isu ini, semak penyelesaian berikut:
Ubah suai RouteConfig.cs: Dalam fail ~/App_Start/RouteConfig.cs, lumpuhkan pengalihan URL automatik dengan mengulas atau menukar baris berikut:
settings.AutoRedirectMode = RedirectMode.Permanent;
Kepada:
settings.AutoRedirectMode = RedirectMode.Off;
Nyatakan URL Mutlak: Jika URL mesra didayakan, gantikan URL dalam panggilan AJAX dengan laluan mutlak ke WebMethod. Contohnya, tukar:
url: "ConsultaPedidos.aspx/GetClients",
Kepada:
url: '<%= ResolveUrl("ConsultaPedidos.aspx/GetClients") %>',
Dengan melaksanakan pembetulan ini, panggilan WebMethod kini seharusnya berjaya dengan pengesahan yang dikuatkuasakan dengan betul.
Atas ialah kandungan terperinci Mengapa ASP.NET WebMethod Saya Mengembalikan Ralat 401 (Tidak Dibenarkan) Selepas Pengesahan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!