Javascript 未捕获(承诺中):服务器错误
我在使用nativescript应用程序时遇到此异常Javascript 未捕获(承诺中):服务器错误,javascript,mongodb,angular,nativescript,angular2-nativescript,Javascript,Mongodb,Angular,Nativescript,Angular2 Nativescript,我在使用nativescript应用程序时遇到此异常 EXCEPTION: Uncaught (in promise): Server error JS: ORIGINAL STACKTRACE: JS: Error: Uncaught (in promise): Server error JS: at resolvePromise (/data/data/com.yourdomain.appname/files/app/tns_modules/nativescript-angular/
EXCEPTION: Uncaught (in promise): Server error
JS: ORIGINAL STACKTRACE:
JS: Error: Uncaught (in promise): Server error
JS: at resolvePromise (/data/data/com.yourdomain.appname/files/app/tns_modules/nativescript-angular/zone.js/dist/zone-nativescript.js:416:31)
JS: at /data/data/com.yourdomain.appname/files/app/tns_modules/nativescript-angular/zone.js/dist/zone-nativescript.js:452:17
JS: at ZoneDelegate.invokeTask (/data/data/com.yourdomain.appname/files/app/tns_modules/nativescript-angular/zone.js/dist/zone-nativescript.js:223:37)
JS: at Object.onInvokeTask (/data/data/com.yourdomain.appname/files/app/tns_modules/@angular/core/bundles/core.umd.js:6197:41)
JS: at ZoneDelegate.invokeTask (/data/data/com.yourdomain.appname/files/app/tns_modules/nativescript-angular/zone.js/dist/zone-nativescript.js:222:42)
JS: at Zone.runTask (/data/data/com.yourdomain.appname/files/app/tns_modules/nativescript-angular/zone.js/dist/zone-nativescript.js:123:47)
JS: at drainMicroTaskQueue (/data/data/com.yourdomain.appname/files/app/tns_modules/nativescript-angular/zone.js/dist/zone-nativescript.js:355:35)
JS: Unhandled Promise rejection: Server error ; Zone: angular ; Task: Promise.then ; Value: Server error
这就是我所拥有的:
login.component.tns.html
<StackLayout class="p-10">
<TextField [(ngModel)]="email" hint="email" autocorrect="false" autocapitalizationType="none"></TextField>
<TextField [(ngModel)]="password" hint="Password" secure="true"></TextField>
<Button text="signin" (tap)="login(user)"></Button>
<Button text="signup" (tap)="signup(user)"></Button>
</StackLayout>
login.service.ts
export class User {
constructor(
public username: string,
public password: string) { }
}
@Injectable()
export class LoginService {
signin(user: User) {
return this.authModelApi.login({
"email": user.username,
"password": user.password
})
.map(token => token)
.catch(this.handleError);
};
}
当点击登录按钮时,我得到了这个错误“服务器错误”。我应该如何解决这个问题?我的web和桌面应用程序与此代码完美配合。我使用mongoDb作为后端。我是nativescript和angular2的新手。任何帮助都会非常有用,而且非常有用。我不确定您使用哪个HTTP模块来调用此登录服务方法
return this.authModelApi.login({
"email": user.username,
"password": user.password
})
根据我的经验,似乎出于某些原因,您无法使用本机Angular HTTP模块来执行HTTP请求。您必须使用Nativescript HTTP模块。所以像这样的
import { getJSON, request } from "http";
...
return request({
url: "....",
method: "POST"
headers: [your headers],
content: [your content]
})
return getJSON("your url here")
请查看此处的官方文档:我不确定您使用哪个HTTP模块来调用此登录服务方法
return this.authModelApi.login({
"email": user.username,
"password": user.password
})
根据我的经验,似乎出于某些原因,您无法使用本机Angular HTTP模块来执行HTTP请求。您必须使用Nativescript HTTP模块。所以像这样的
import { getJSON, request } from "http";
...
return request({
url: "....",
method: "POST"
headers: [your headers],
content: [your content]
})
return getJSON("your url here")
查看此处的官方文档:am使用nativescript sdk am使用nativescript sdk