2010-08-09 44 views
6

làm cách nào tôi có thể phát hiện xem yêu cầu có phải là yêu cầu AJAX (từ jQuery) trên phía máy chủ của ứng dụng ASP.net hay không. Tôi không muốn làm điều này: mypage.aspx? This_is_ajax = true ...Phát hiện cuộc gọi ajax, ASP.net

ví dụ:

$.get("mypage.aspx"); 

Về phía server Tôi muốn làm những việc nhất định khi yêu cầu là một yêu cầu ajax ...

Cảm ơn!

+0

Tôi không chắc chắn, vì vậy tôi sẽ đăng dưới dạng nhận xét nhưng hãy kiểm tra thuộc tính IsCallback của trang của bạn. – kbrimington

+0

Thuộc tính đó là sai ... – dale

Trả lời

11

ASP.NET MVC có phần mở rộng tuyệt vời cho điều này, đã làm việc với JQuery. Nó kiểm tra nó theo cách này:

Kiểm tra bộ sưu tập cốt lõi:

request["X-Requested-With"] == "XMLHttpRequest" 

Kiểm tra bộ sưu tập tiêu đề (đảm bảo nó không null):

request.Headers["X-Requested-With"] == "XMLHttpRequest" 

nó đã làm điều đó như một phương pháp mở rộng, vì vậy bạn có thể tạo lại hoặc sử dụng nó nếu bạn đang sử dụng ASP.NET MVC qua Request.IsAjaxRequest().

Các vấn đề liên quan