gpt4 book ai didi

javascript - AngularJS:fn 不是函数

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:33:37 25 4
gpt4 key购买 nike

调用函数 results 后出现错误:TypeError: fn is not a function。在调用它之前,一切正常,首先 $http.get 得到了好的数据。有什么解决办法吗?

var app = angular.module("cowork", []);

app.config(function($interpolateProvider) {
$interpolateProvider.startSymbol('{[{');
$interpolateProvider.endSymbol('}]}');
});

app.controller("SearchDeskCtrl", ['$scope', '$http', function ($scope, $http) {
$scope.search = false;
$scope.city;

$http.get('/cowork/desks').success(function(data, status, headers, config) {
return $scope.results = data;
})



$scope.results = function(search) {
if (search){
$http.get('/cowork/desks_city', {city: $scope.city}).success(function(data, status, headers, config) {
search=false;
return data;
})}
}

}])

编辑:我的重点是首先从 $http.get 获取结果,然后在调用函数后覆盖此数据。此外,我需要在第二个 $http.get 调用(在函数中)传递一个字符串参数以传递 city 参数,然后在 request 中接收它>(来自 Django 方面)。

最佳答案

$http.get('/cowork/desks') ajax 得到响应后,您的 $scope.results 方法被数据覆盖

因此,当您从中调用 $scope.results 方法时,它会抛出异常,因为 $scope.results 在 Controller 作用域上下文中不再可用。

TypeError: fn is not a function

如果您需要将 $http.get 的结果重命名为 $scope.result 之类的名称,则可以解决此问题。

代码

$http.get('/cowork/desks').success(function(data, status, headers, config) {
$scope.result = data;
})

关于javascript - AngularJS:fn 不是函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30005409/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com