gpt4 book ai didi

angularjs - 在 angular.js 工厂中使用 $http

转载 作者:行者123 更新时间:2023-12-04 17:02:10 24 4
gpt4 key购买 nike

在我的应用程序中,我使用 angular.js 和 jquery ui 自动完成功能。我遇到了同样的问题
HERE
那里接受的答案对我很有用,直到今天我需要用 $http ajax 调用替换静态值数组时,这正是我所需要的。
我试图将 $http 作为参数传递给父函数,但我得到“未知提供者:autoCompleteProvider <- autoComplete”
我的问题是,如何在不重写或更改太多当前解决方案的情况下使用 $http?

最佳答案

您需要在服务的 getSource() 函数中添加回调引用:

app.factory('autoCompleteDataService', ['$http', function($http) {
return {
getSource: function(callback) {
var url = '...';
$http.get(url).success(function(data) {
callback(data);
}
}
}
}]);

您也可以使用 $http.jsonp , 如果您的服务器返回 json。不要忘记 JSON_CALLBACK 参数。

在您的指令中,您需要添加回调函数本身:
...
autoCompleteDataService.getSource(function(data) {
elem.autocomplete({
source: data
minLength: 2
});
});

关于angularjs - 在 angular.js 工厂中使用 $http,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14045626/

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