Jquery 未捕获引用错误:未定义延迟
如果从Jquery 未捕获引用错误:未定义延迟,jquery,Jquery,如果从addUser返回defer.promise,则可以按如下方式进行设置 Uncaught ReferenceError: defer is not defined $.ajax()还返回一个承诺。您可以在不直接创建新的$的情况下执行相同的操作 var addUser = function () { var defer = $.Deferred() /* ajax and resolve/reject*/ return defer } var
addUser
返回defer.promise
,则可以按如下方式进行设置
Uncaught ReferenceError: defer is not defined
$.ajax()
还返回一个承诺。您可以在不直接创建新的$的情况下执行相同的操作
var addUser = function () {
var defer = $.Deferred()
/* ajax and resolve/reject*/
return defer
}
var filtered = addUser().then(function (value) {
return value;
});
defer是addUser函数的局部变量。你不能在外面使用它…我该如何解决这个问题?你能帮我吗?我试过了,但发现了以下错误。未捕获类型错误:对象函数(){var defer=$.Deferred()$.ajax(“,{type:'POST],jsonpCallback:'yes',数据:{username:'test'},contentType:“application/json”,dataType:“jsonp”});defer.resolve(data);return defer.promise}没有方法'then'(索引):35调用addUser时输入错误。然后
应该是addUser()。然后
。在过去的几个月里,我与angular合作了很多……回报的承诺略有不同……只需回报延迟
。在您的演示中,您正试图在$.ajax回调之外解决问题。这里是一个真正的ajax调用的工作小提琴
var addUser = function () {
var defer = $.Deferred()
/* ajax and resolve/reject*/
return defer
}
var filtered = addUser().then(function (value) {
return value;
});
var addUser = function () {
return $.ajax({ /* ajax options*/})
}