gpt4 book ai didi

javascript - 为什么 $http 请求在此 Cordova 应用程序中不起作用?

转载 作者:行者123 更新时间:2023-12-03 06:41:17 25 4
gpt4 key购买 nike

我试图将代码中的数据带到我的应用程序中,这里是工厂。

angular.module('starter.services', [])

.factory('Locations', function ($http, $q) {
// Might use a resource here that returns a JSON array
var url = "https://portal.mobilequbes.com/api/kiosks?callback=JSON_CALLBACK";
var locations = function () {
$http.jsonp(url)
.then(function (result) {
return result.data;
});
};

return {
all: function () {
return locations;
},
get: function (locId) {
for (i = 0; i < locations.length;i++){
if (locations[i].friendlyName == parseInt(locId)) {
return locations[i];
}
}
}
}
});

和我的 Controller :

.controller('MapCtrl', function ($scope, $http, Locations) {
$scope.locations = Locations.all();
$scope.createMarks = function () {
createList(Locations.all());
}
})

加载时,它只加载任何内容或两个如下所示的对象:“”

我不知道为什么,因为我似乎看不出任何问题,我觉得我已经读完了这篇文章。我已经使用 jsFiddle 测试了返回函数,它工作得很好,所以它与 ionic/cordova 有关,我相当确定。

最佳答案

在你的工厂做,

angular.module('starter.services', [])

.factory('Locations', function ($http, $q) {
// Might use a resource here that returns a JSON array
var url = "https://portal.mobilequbes.com/api/kiosks?callback=JSON_CALLBACK";
var locations = []; //storing locations for future usage

return {
all: function () {
return $http.jsonp(url)
.then(function (result) {
locations = result.data;
return result.data;
});
},
get: function (locId) {
for (i = 0; i < locations.length;i++){
if (locations[i].friendlyName == parseInt(locId)) {
return locations[i];
}
}
}
}
});

在你的 Controller 中,

.controller('MapCtrl', function ($scope, $http, Locations) {
Locations.all().then(function (locations) {
$scope.locations = locations;
});
$scope.createMarks = function () {
createList(Locations.all());
}
})

现在,Locations.all() 方法返回一个 promise ,该 promise 将解析为 Controller 中的 result.data,并且您可以访问位置。

以前您没有返回任何内容,因此 $scope.locations 未定义。

关于javascript - 为什么 $http 请求在此 Cordova 应用程序中不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37949072/

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