我正在开发一个项目(AngularJS + PHP),其中一个数据库用于用户登录(有关用户/客户端及其数据库的参数),另一个数据库用于用户/客户端(每个用户都有自己的数据库)。 登录时,我想连接到正确的数据库。我已经成功使用某些客户端帐户登录,捕获了客户端数据库的db参数,但是当我需要连接到相应的客户端数据库时,它就无法正常工作。 我使用服务:
app.factory('loginService', function ($http, $location, sessionService) {
return{
.........................
fetchuser: function () {
var usr = $http.get('model/fetch.php');
return usr;
},
fetchdbdata: function (dbdata) {
var usrdb = $http.post('model/fetchDB_data.php', dbdata);
return usrdb;
}
}
.........................
});
和相应的控制器:
app.controller('homeCtrl', ['$scope', 'loginService', '$location',
function ($scope, loginService, $location) {
var dbdata;
var userrequest = loginService.fetchuser();
userrequest.then(function (response) {
//take users data, database params
$scope.usr = response.data[0];
//in console dbdata return correct object
dbdata = {
host_name: $scope.usr.host_name,
database_name: $scope.usr.database_name,
user_db: $scope.usr.user_db,
password_db: $scope.usr.password_db
};
console.log(dbdata);
/* ***************************************
if i use manually data like:
dbdata = {
host_name: "mysql333****",
database_name: "da*******",
user_db: "uc******",
password_db: "^r******"
};
console.log(dbdata);
it works, and in console bellow return correct object and
result.
I don't understand why.
*******************************************/
var userrequestdb = loginService.fetchdbdata(dbdata);
userrequestdb.then(function (response) {
$scope.usrdb = response.data[0];
console.log($scope.usrdb); //in console return E - nothing
});
});
}
]);
任何建议都会有所帮助。
答案 0 :(得分:0)
数据库名称不同: 在不起作用的那个是“ consultech_17” 在运行的是“ consultech_rs_db_16”