Javascript jQuery中的异步日志记录
JavaScript代码:Javascript jQuery中的异步日志记录,javascript,asp.net,jquery,Javascript,Asp.net,Jquery,JavaScript代码: $.ajaxSetup({ async: true }); $("a").live('click', function (event) { $.get(logsomething-URL); }); 服务器上logsomething页面上的ASP.NET代码: Thread.Sleep(10000); 当我点击一个链接时,我必须等待服务器的响应。在这种情况下,我必须等待10秒钟才能转到我请求的页面 有可能防止这种情况吗?首先,您不需要:
$.ajaxSetup({
async: true
});
$("a").live('click', function (event) {
$.get(logsomething-URL);
});
服务器上logsomething页面上的ASP.NET代码:
Thread.Sleep(10000);
当我点击一个链接时,我必须等待服务器的响应。在这种情况下,我必须等待10秒钟才能转到我请求的页面
有可能防止这种情况吗?首先,您不需要:
$.ajaxSetup({
async: true
});
因为AJAX请求在默认情况下是异步的(这就是A
所代表的:异步)
接下来,您可以从单击处理程序中返回false
,以阻止默认操作(在href之后),并在AJAX成功
处理程序中执行实际重定向:
$('a').live('click', function (event) {
// store the location to redirect to later in the success callback
var href = this.href;
$.get('logsomething-URL', function(result) {
// Now after the AJAX call successfully returned
// perform the redirect
window.location = href;
});
return false;
});
首先,您不需要:
$.ajaxSetup({
async: true
});
因为AJAX请求在默认情况下是异步的(这就是A
所代表的:异步)
接下来,您可以从单击处理程序中返回false
,以阻止默认操作(在href之后),并在AJAX成功
处理程序中执行实际重定向:
$('a').live('click', function (event) {
// store the location to redirect to later in the success callback
var href = this.href;
$.get('logsomething-URL', function(result) {
// Now after the AJAX call successfully returned
// perform the redirect
window.location = href;
});
return false;
});
像这样的东西应该可以做到这一点-基本上你不希望链接像链接一样:
$("a").live('click', function (event) {
var linkTarget = $(this).attr('href');
event.preventDefault();
$.get(logsomething-URL, function(){
window.location = linkTarget;
});
});
像这样的东西应该可以做到这一点-基本上你不希望链接像链接一样:
$("a").live('click', function (event) {
var linkTarget = $(this).attr('href');
event.preventDefault();
$.get(logsomething-URL, function(){
window.location = linkTarget;
});
});
我不会使用$.get
,而是使用$。ajax
可以让您指定更多。如果这不起作用,试试看
我不会使用$.get
,而是使用$。ajax
可以让您指定更多。如果这不起作用,试试看
除了返回false,您还可以简单地执行“event.preventDefault();”作为单击函数中的第一行。更多信息请参见:@Betard Fooser,是的,您也可以使用preventDefault
功能。基本上是一样的。如果我只需要链接,这可能是一个很好的解决方案。我不认为这是一个优雅的解决方案,我的想法。我需要它的按钮,链接和提交工作。我不能确定链接点击是否真的是重定向。可能是别的。后续任务未知。您也可以只执行“event.preventDefault();”而不返回false作为单击函数中的第一行。更多信息请参见:@Betard Fooser,是的,您也可以使用preventDefault
功能。基本上是一样的。如果我只需要链接,这可能是一个很好的解决方案。我不认为这是一个优雅的解决方案,我的想法。我需要它的按钮,链接和提交工作。我不能确定链接点击是否真的是重定向。可能是别的。接下来的任务是未知的。如果我只需要链接,这可能是一个很好的解决方案。我不认为这是一个优雅的解决方案,我的想法。我需要它的按钮,链接和提交工作。我不能确定链接点击是否真的是重定向。可能是别的。接下来的任务是未知的。如果我只需要链接,这可能是一个很好的解决方案。我不认为这是一个优雅的解决方案,我的想法。我需要它的按钮,链接和提交工作。我不能确定链接点击是否真的是重定向。可能是别的。后续任务未知。是的,event.preventDefault()用于阻止click事件的宣传,但您提到您确实需要它。如果您可以将按钮/链接上的所有事件汇总到一个调用,那么您可以控制“事件”的顺序,是的,event.preventDefault()用于阻止单击事件的宣传,但是您提到您确实需要这样做。如果您可以将按钮/链接上的所有事件汇总到一个呼叫,那么您可以控制“事件”的顺序