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*/})

 }