【发布时间】:2017-09-12 07:24:49
【问题描述】:
我想知道是否有可能将前端 ionic2 与后端 mysql 绑定。我尝试了很多方法,但是,它们都不起作用。那么,有人可以举一个使用数据库或其他东西登录身份验证的例子,或者一个好的教程的链接。
【问题讨论】:
-
你的意思是数据库中的更新会在前端自动更新还是只是登录?
我想知道是否有可能将前端 ionic2 与后端 mysql 绑定。我尝试了很多方法,但是,它们都不起作用。那么,有人可以举一个使用数据库或其他东西登录身份验证的例子,或者一个好的教程的链接。
【问题讨论】:
您可以做到这一点的最简单方法是,您需要开发 Restful API,它与 MySQL 数据库交互并使用该 API 从您的 Ionic 2 应用程序中获取和放置数据 (CRUD) .
我已经完成了这种集成,并且效果很好。
更新:
auth.ts(提供者)
@Injectable()
export class AuthenticationData {
authenticationEndPoint: string = "url";
constructor(public http: Http) {
}
//login
loginUser(username: string, password: string): Observable<data-type> {
let headers = new Headers();
headers.append('content-type', 'application/json');
let body = '';
let options = new RequestOptions({ headers: headers });
let url = this.authenticationEndPoint + encodeURI(username) + '&password=' + encodeURI(password);
return this.http.post(url, body, options)
.map(this.extractData)
.catch(this.handleError);
}
//to extract data
private extractData(res: Response) {
let body = res.json();
return body || {};
}
//to handle error
private handleError(error: Response | any) {
let errMsg: string;
if (error instanceof Response) {
const body = error.json() || '';
const err = body.error || JSON.stringify(body);
errMsg = `${error.status} - ${error.statusText || ''} ${err}`;
} else {
errMsg = error.message ? error.message : error.toString();
}
console.error(errMsg);
return Observable.throw(errMsg);
}
}
}
【讨论】: