Gre*_*egg 6 jquery jquery-deferred
我有以下内容:
$(".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);
};
Run Code Online (Sandbox Code Playgroud)
以上是行不通的,因为在处理ajax请求之后我在日志中什么也得不到,我知道它与我如何处理removeItemResponse中的参数有关.我需要使用来自ajax帖子的返回数据,但也传递我在click函数中检索到的id.
Jas*_*n P 12
removeItemResponse(id)正在执行该函数,并且您没有传递第一个延迟的结果.试试这个:
.then(function(data) { removeItemResponse(data, id) });
Run Code Online (Sandbox Code Playgroud)
done() 也适用于:
.done(function(data) { removeItemResponse(data, id) });
Run Code Online (Sandbox Code Playgroud)
您可以简化和处理这样的故障:
removeItem(url)
.done(function(data) { removeItemResponse(data, id) });
.fail(function(result) { /* do something else */ });
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7194 次 |
| 最近记录: |