Tôi có một siêu liên kết mà tôi cần đăng nhập khi được nhấp.Tôi làm cách nào để ghi nhật ký một nhấp chuột siêu liên kết?
Tôi đã tạo một mẫu thử nghiệm nhỏ và vấn đề có thể lặp lại bằng cách tạo dự án ứng dụng web MVC 2 mới.
Thêm
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js"></script>
đến tập tin Site.Master.
Và
public ActionResult LogSomething()
{
string doNothing = DateTime.Now.ToString();
return new EmptyResult();
}
đến HomeController.cs nộp
Và
<p>
<a id="lnkTestPost" href="/home/about">Test Post</a>
<script type="text/javascript">
$("#lnkTestPost").click(function() {
$.post("/home/LogSomething");
});
</script>
</p>
trong Trang chủ/index.aspx
Đặt một điểm break trong LogSomething() hành động trong HomeController.
Nhưng khi tôi chạy nó, đôi khi điểm ngắt được nhấn, thời gian khác nó không phải là.
Tôi giả định rằng nó không bị tấn công do liên kết thực sự gửi trình duyệt đến một trang khác, nhưng không nên đăng bài trước khi liên kết được kích hoạt?
Có cách nào tôi có thể đảm bảo mã đăng nhập được kích hoạt không?
Xin lưu ý; việc thêm chức năng ghi nhật ký vào mục tiêu liên kết không phải là một tùy chọn.
EDIT: Liên kết gốc thực sự là một giao thức tùy chỉnh cho một ứng dụng được cài đặt trên máy tính người dùng. Vì vậy, liên kết là một cái gì đó như "myapp: myArgs". Tôi đã không đề cập rằng để giữ cho mọi thứ đơn giản, thật không may, vì không có câu trả lời nào thực sự áp dụng cho tôi, tôi nghĩ rằng nó cần phải đề cập đến.
Tôi đã thử điều đó, nhưng nó không phải lúc nào cũng hoạt động –
Ngoài ra, điều đó sẽ phá vỡ khủng khiếp với, ví dụ như "mở trong tab mới". –
@ John, theo cách nào nó không phải lúc nào cũng hoạt động? Nó không bị các vấn đề về thời gian mà mã của bạn có. –