這太過分了,怎麼過的作品,我用它,我不能做其他方式的一些情況。
javascript調用,我先調用日誌,然後繼續提交。當我點擊時,我也會顯示一個等待消息,事件發生的速度太快,用戶不明白這是等待什麼。我也注意避免使用簡單的JavaScript來記錄動作的雙重記錄。我在onclick
事件上稱這個函數。
var confirmSubmited = false;
function SubmitWithLog(me)
{
// to avoid many clicks...
if(confirmSubmited)
return false;
confirmSubmited=true;
jQuery.ajax({
url: "/LogAction.ashx",
type: "GET",
timeout: 3000,
async: true, // you can try and async:false - maybe is better for you
data: action=4, // here you send the log informations
cache: false,
success: function(html) {
jQuery("#FormID").submit();
},
error: function(responseText, textStatus, XMLHttpRequest) {
jQuery("#FormID").submit();
}
});
return false;
}
的處理程序是
public class LogAction : IHttpHandler
{
public void ProcessRequest(HttpContext context)
{
// log here what you wish
// end up with no content
context.Response.TrySkipIisCustomErrors = true;
context.Response.Status = "204 No Content";
context.Response.StatusCode = 204;
}
}
我希望搞清楚,這是不記錄用戶操作的好辦法,但是當你無法以其他方式儘自己的一種方式。我只使用它,當用戶提交併離開我的網站並轉到另一個網站時,我用它來寫這個動作。
在我使用的醚的URL的引用,醚化妝登錄代碼後面的所有其他情況下,醚我包括在HTML頁面的空白圖像,使日誌這樣的:ASP server stats for html pages
我試着調用阿賈克斯,並正確的方式提交,但其失敗,阿賈克斯是通過提交停止。接下來的方法是使用超時,調用ajax,並設置超時500ms進行提交,但我避免了超時,因爲ajax調用的時間少於100ms,因爲我已經完成了。
處理客戶端腳本絕對不是一個簡單的方法。我相信我曾經告訴過你兩次... – gdoron
:) :)你可以建議一個答案,因爲我認爲處理它的客戶端然後存儲日誌數據庫是更復雜的! –
如果您可以向我們展示**呈現的** HTML,以及您想如何處理它,我可以回答。 – gdoron