Я делаю вход в систему ionic 2, используя номер телефона и пароль. Я использую паспорт Laravel 5.3 в качестве бэкэнда. В качестве логина используется почтальон. но в ионном 2 это дает мне ошибку как —
Неожиданный маркер < в JSON в позиции 0
в JSON.parse ()
на Response.Body.json (http.es5.js: 800) на SafeSubscriber._next (register-api.ts: 33)
мой код указан ниже
loginData = {contact: », password: »};
login.ts code
doLogin() {
this.showLoader();
this.registerApi.login(this.loginData).then((result) => {
this.loading.dismiss();
this.data = result;
this.viewCtrl.dismiss().then(
(result) => this.app.getRootNav().setRoot(MyApp)
)
window.location.reload();
}, (err) => {
this.loading.dismiss();
this.presentToast(err);
}); }
код registerapi.ts
login(credentials) {
return new Promise((resolve, reject) => {
let headers = new Headers();
headers.append('Content-Type', 'application/json');
this.http.post(apiUrl+'login', JSON.stringify(credentials), {headers: headers})
.subscribe(res => {
resolve(res.json());
}, (err) => {
reject(err);
});
}); }
Я действительно застрял здесь .. Спасибо.
МОЙ php код laravel как —
public function login(){
if(Auth::attempt(['contact' => request('contact'), 'password' => request('password')])){
$user = Auth::user();
$success['token'] = $user->createToken('MyApp')->accessToken;
$success['fname'] = $user->fname;
$success['lname'] = $user->lname;
$success['contact'] = $user->contact;
$success['id'] = $user->id;
return response()->json(['success' => $success], $this->successStatus);
}
else{
return response()->json(['error'=>'Unauthorised'], 401);
}
}
< in JSON at position 0
Означает, что, скорее всего, вы получаете тело HTML с сервера из-за неправильной ссылки apiUrl (возможно, вместо apiUrl +'login'
должно быть apiUrl +'/login'
) или произошла ошибка php, попробуйте следующий код, чтобы увидеть точный ответ в консоли:
login(credentials) {
return new Promise((resolve, reject) => {
let headers = new Headers();
headers.append('Content-Type', 'application/json');
this.http.post(apiUrl+'login', JSON.stringify(credentials), {headers: headers})
.subscribe(res => {
console.log(res.text());
}, (err) => {
reject(err);
});
}); }
Других решений пока нет …