我目前正在尝试调用我们在C#WebAPI上设计的API,它将在设备上成功调用。但是,有时它不会调用iOS平台。这就是我调用API设置的方法:
$scope.RunNews = function() {
console.log("Testing 123. I don't know!")
var app_url_news = APP_URL.getUrl() + '/api/news/getallnewsinfo';
$http.get(app_url_news).success(function(data) {
console.log("Successful Transfer. Data Below")
console.log(data);
angular.forEach(data.data, function(obj) {
console.log(obj);
if (obj.videoUrl) {
if (Validators.isValidYoutubeUrl(obj.videoUrl)) {
var youtubeVideoId = obj.videoUrl.split('v=')[1].split('&')[0];
obj.videoUrl = 'http://www.youtube.com/embed/' + youtubeVideoId + '?html5=1&rel=0&hl=en_US&version=3';
}
obj.isVideo = true;
} else {
obj.imagePath = APP_URL.getUrl() + '/NewsImages/files/' + obj.imagePath;
obj.isVideo = MediaType.isVideo(obj.imagePath);
}
});
$scope.newsList = data.data;
$ionicLoading.hide();
});
}
}
目前,此函数调用离子服务网页浏览模拟器和Android设备...但是,在iOS上,永远不会调用$ http。我注意到这对多个$ http呼叫很明显,但对于其他人来说,它们工作正常。
我在这里问是否有人遇到过这个问题并且有解决方法吗?我相信它可能与权限有关,但我似乎无法在我的项目中找到任何东西。
答案 0 :(得分:0)
我有类似的问题。 GET请求无法在iOS设备上进行,但在浏览器中工作。我通过安装cordova-plugin-whitelist解决了这个问题。要使用它,您必须具有Cordova 4.0或更高版本。
如果问题仍然存在,您应该为控制台中的任何日志调试应用,并检查请求的响应和请求标头。这些将帮助您确定问题所在。