siapa saja, bagaimana saya bisa tahu jika permintaannya ajax? (Saya menggunakan jquery untuk ajax)
asp.net
asp.net-mvc
ajax
Omu
sumber
sumber
Jawaban:
Semua panggilan AJAX yang dibuat oleh jQuery akan memiliki header yang ditambahkan untuk menunjukkan bahwa itu adalah AJAX. Header yang akan diperiksa adalah
X-Requested-With
, dan nilainya akan menjadiXMLHttpRequest
ketika itu adalah panggilan AJAX.Perhatikan bahwa permintaan AJAX adalah GET atau POST normal, jadi kecuali Anda (atau pustaka AJAX Anda seperti jQuery) menambahkan header tambahan dalam permintaan tersebut, tidak ada cara untuk mengetahui dengan pasti apakah itu AJAX atau bukan.
sumber
Request.Headers["X-Requested-With"]
atau serupa. Periksa MSDN. Header selalu terkait dengan permintaan.Ada juga
Request.IsAjaxRequest
jika Anda menggunakan versi MVC yang lebih baru. Saya tidak memiliki versi 1 lagi jadi saya tidak dapat mengatakan apakah itu dalam versi 1.Jika Anda memerlukan pemeriksaan ini di Global.asax.cs coba ini:
new HttpRequestWrapper(Request).IsAjaxRequest()
sumber
HttpRequestBase
. Saya tidak membutuhkannya jadi saya tidak melihat terlalu dalam. Terimakasih atas peringatannya.Ini bekerja untuk saya di ASP.NET MVC 3
sumber
new HttpRequestWrapper(Request).IsAjaxRequest()