JQuery:在链接被关注之前执行一个post
JQuery: Perform a post before a link is followed
当我的网站上有人点击链接时,我需要异步发布到服务器。我尝试了下面的代码,但它似乎没有在服务器上完成我想要的任务。我认为问题是它在发生某些事情之前就已经跟踪了链接。实际上,我不需要等待服务器的响应,我只需要它向它发送呼叫。有人能帮我吗?也许在调用链接之前如何延迟跟踪链接,或者应该注意使用$.post吗?
$("#item").click(function (ev) {
$.post(link_to_something);
});
<a id="item" href="www.google.com">Link</a>
第一件事是通过从click
处理程序返回false来取消链接的默认操作。这将为AJAX请求的完成留出足够的时间。当它完成时,在成功回调中,你可以重定向到链接指向的任何地方:
$("#item").click(function (ev) {
var self = this;
$.post(link_to_something, function() {
window.location.href = self.href;
});
return false;
});
你必须检查响应以确定帖子是否成功,然后你应该继续。
$("#item").click(function (e) {
e.preventDefault();
$.post(link_to_something, function() {
window.location = $(this).attr('href');
});
});
相关文章:
- 如何使用自定义标头跨域执行AJAX POST
- 防止双击执行两次jQuery post请求
- 如何使用get或post方法连接和执行ajax
- 在Selenium IDE中执行HTTP POST
- $http.post() angularjs 响应函数未按正确的顺序执行
- 主干正在执行POST请求而不是PUT请求
- 执行 ajax 同步 POST 然后提交表单的正确方法
- 以编程方式打开火狐浏览器并执行 POST 请求?[想法:MozRepl,建议?
- 从 ajax .post 方法执行 PHP 页面后显示它
- JQuery ajax post 回调函数未执行
- Rails 表单在添加引导程序后执行 POST 而不是 DELETE
- jQuery AJAX POST 执行两次
- 无法使用jQuery执行POST请求以获取Strava OAuth令牌
- jQuery标签-它,如何执行post时,项目删除
- 如何使用会话数据向服务器节点js中的端点执行POST请求
- jQuery对话框模式在ALERT之后未执行$.post(function(){})
- JS确认后执行post方法
- 使用javascript获取api来执行POST请求
- 使用JavaScript执行POST请求
- Angularjs + Cordova + UploadFile将Img转换为文件来执行POST