$ http.put in循环不起作用angular.js

时间:2017-08-04 07:11:35

标签: javascript angularjs

我从服务器获取带有get请求的问题列表。有些问题未读,其属性为

"okundu":"0";

我想将其更改为

"okundu":"1";

在下面的代码中,我从服务中获得问题并尝试将请求置于循环中。但由于异步问题,它无法正常工作。我是angular.js的新手。我怎么能解决这个问题?

$http.get('http://example/sorus?userId='+sessionStorage.refUser).success(function(response){         
        sorus=response;

        for(var i=0;i<sorus.length;i++){

            if(sorus[i].okundu=="0"){
                console.log(sorus[i]._id)
                $http.put('http://example/sorus/'+sorus[i]._id,{"okundu":"1"}).success(function(response){console.log(response)}).error(function(err){console.log("ERR : " + err)})
            }

        }

    })

在put请求中它总是转到error函数而err返回null。如果我在put请求上面写了console.log,我看到了 结果是

  

59817b57a720c13e31d3def4

     

59817b46a720c13e31d3def3

     

错误:空

     

错误:空

这里有异步问题。它永远不会成为put请求的成功。这是put请求的错误。

1 个答案:

答案 0 :(得分:0)

您可以在变量中使用post success方法的结果(例如$ scope.itemList)。在帖子的成功方法中,您可以使用$ resource方法发布这些变量。