我有以下内容:
$(".remove-item").click(function(e) {
e.preventDefault();
var url = $(this).attr('href');
var id = $(this).data("id");
$.when(removeItem(url))
.then(removeItemResponse(id));
});
var removeItemResponse = function(data,id) {
console.log(data);
console.log(id);
};
var removeItem = function(url) {
return $.post(url);
};
以上是行不通的,因为在处理ajax请求之后我在日志中什么也得不到,我知道它与我如何处理removeItemResponse中的参数有关.我需要使用来自ajax帖子的返回数据,但也传递我在click函数中检索到的id.
最佳答案
removeItemResponse(id)正在立即执行该函数,并且您没有传递第一个延迟的结果.试试这个:
.then(function(data) { removeItemResponse(data,id) });
done()也可以在这里工作:
.done(function(data) { removeItemResponse(data,id) });
您可以简化和处理这样的故障:
removeItem(url)
.done(function(data) { removeItemResponse(data,id) });
.fail(function(result) { /* do something else */ });
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。