我使用Ionic在Android上制作了一个应用程序。一切在我的计算机上都可以正常运行,但是当应用程序在我的手机上打开后,有些东西却无法正常工作。
第一个也许更困难。
我在Mysql数据库上有一个数据,并使用php将该数据作为json回显来获取。然后我使用jsonp用angular检索它。在我的计算机上可以正常工作,但手机上什么也没有。
这是我的JS文件:
$(function(){
var App = angular.module("App");
App.controller('companySearchController',function($scope,GetAPI){
$scope.groups = [];
$scope.message = "Fyrirtækja Leit";
$scope.showOrNot = false;
$scope.search2 = function(searchText){
GetAPI.getCompany2(searchText).then(onCompanyComplete);
};
var onCompanyComplete = function(data){
console.log(data['data']);
for(var x = 0; x<data['data'].length;x++){
var tempArray = [];
for(var i = 0; i<5; i++){
tempArray.push(data['data'][x][i]);
}
$scope.groups.push(tempArray);
console.log(tempArray);
}
};
$scope.toggleGroup = function(group) {
if ($scope.isGroupShown(group)) {
$scope.shownGroup = null;
} else {
$scope.shownGroup = group;
}
};
$scope.isGroupShown = function(group) {
return $scope.shownGroup === group;
};
});
}());
和PHP文件:
$<?php
$fname = $_GET['firstname'];
$pdo = require_once('dbconfig.php');
$sth=$PDO->prepare("SELECT * FROM company WHERE name LIKE '$fname%' LIMIT 200");
$sth->execute();
$result = $sth ->fetchAll();
$jsonData = json_encode($result);
echo $_GET['callback'] . '('.$jsonData.')';
就像我说的那样,手机上没有任何显示,但是当我在计算机上的浏览器中运行它时,一切正常。
然后是输入问题。我有一些输入都被链接在一起,而当其他更改时,所有输入都更改了。当我输入输入内容时,输入第二个数字后,它会自动在该数字之后输入一个数字。我的电脑上一切正常。
这是JS文件:
$(function(){
var App = angular.module("App");
App.controller('currencyController',function($scope,GetAPI){
//$scope.run = false;
$scope.search = function(){
GetAPI.getCurrency().then(onCarComplete);
};
var onCurrencyComplete = function(data){
$scope.currencyData = data;
starter(1000);
};
var starter = function (price) {
for(var i = 0; i<$scope.currencyData.length;i++){
$scope.currencyData[i]['forApp'] = parseFloat(price/$scope.currencyData[i]['askValue']).toFixed(2);
$scope.currencyData[i]['forAppReal'] = price/$scope.currencyData[i]['askValue'];
}
};
$scope.changeCurrency = function(changed){
var isk = changed['forApp']*changed['askValue'];
console.log(isk);
//console.log(changed['shortName'] + " " + changed['forApp']+ " is: "+ isk);
calculate(isk);
changed['forApp'] = parseFloat(changed['forApp']).toFixed(0);
};
var calculate = function(isk){
for(var i = 0; i<$scope.currencyData.length;i++) {
var stuff = isk/$scope.currencyData[i]['askValue'];
stuff = parseFloat(stuff).toFixed(2);
$scope.currencyData[i]['forApp'] = (stuff);
}
};
$scope.clicked = function(item){
item['forApp'] = parseInt(item['forApp']).toFixed(0);
};
GetAPI.getCurrency().then(onCurrencyComplete);
});
}());
和HTML文件:
$<ion-view title="companys" class="fullIon">
<div class="list currencyList col-80 col-offset-10">
<label class="item item-input item-floating-label" data-ng-repeat="item in currencyData" data-ng-click="clicked(item)">
<input type="text" value="{{item.forApp}}" ng-model="item.forApp" ng-change="changeCurrency(item)"><p class="longNameText">{{item.longName}}</p>
</label>
</div>
</ion-view>
最佳答案
当我开始制作离子应用程序时,我也有同样的经历。
尝试添加名为“ cordova-plugin-whitelist”的cordova插件
cordova plugin add cordova-plugin-whitelist
一旦安装,它将正常工作。
关于javascript - 与数据库连接和输入处理的 ionic 问题,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33639495/