有人可以解释为什么$ http请求向服务器发送无限数量的请求? 在我的应用程序中,此代码向服务器发送无限请求
<!DOCTYPE html>
<html>
<head>
<title>clerf</title>
</head>
<body>
<div id="main">
<input type="text" id="name" />
<input type="number" id="age" />
</div>
</body>
</html>
但是,当我删除http请求时,只有一个请求被传递给服务器,如下所示:
(function(){
var app = angular.module("GrahamsSocksProducts", ["ngCookies"]);
app.controller("ProductsController", ["$controller", "$http", "$cookies", function($controller, $http, $cookies){
.
.
.
this.setCookie = function(){
username = "Some random guy"
alert(45)
$http({
method : "GET",
url : "http://_____________",
params : { username : username }
}).then(function(){
//do something
})
}
HTML:
.
.
.
this.setCookie = function(){
username = "Some random guy"
alert(45)
}
.
.
.
我读过其他问题,例如: Infinite loop when trying to make Angularjs display a promise 他们回答了AngularJS如何允许双向数据绑定,但在这种情况下,当$ http代码被删除时,请求被发送一次,否则无限次。
答案 0 :(得分:4)
每次运行摘要循环时运行表达式{{products.setCookie()}},这是很多。每次页面更改,单击,事件等。我不确定为什么你在视图本身上有这个表达式,但你需要把它放在别处