Ionic framework Ionic 2 TypeError:this.http.post不是函数
嗨,我正在尝试在ionic 2中创建一个注册页面,将用户名、电子邮件和密码发布到我使用的api中。但是我得到了这个错误Ionic framework Ionic 2 TypeError:this.http.post不是函数,ionic-framework,angular,ionic2,Ionic Framework,Angular,Ionic2,嗨,我正在尝试在ionic 2中创建一个注册页面,将用户名、电子邮件和密码发布到我使用的api中。但是我得到了这个错误TypeError:this.http.post不是一个函数。我已经搜索过这个问题并尝试过了,但它对我不起作用 这是我的signup.js: import {Injectable, Inject} from 'angular2/core'; import {Page, NavController} from 'ionic-angular'; import {TabsPage} f
TypeError:this.http.post不是一个函数
。我已经搜索过这个问题并尝试过了,但它对我不起作用
这是我的signup.js:
import {Injectable, Inject} from 'angular2/core';
import {Page, NavController} from 'ionic-angular';
import {TabsPage} from '../tabs/tabs';
import {UserData} from '../../providers/user-data';
import {Http, Headers, RequestOptions} from 'angular2/http';
import {Observable} from 'rxjs/Observable';
import 'rxjs/Rx';
@Page({
templateUrl: 'build/pages/signup/signup.html'
})
@Injectable()
export class SignupPage {
static get parameters() {
return [[Http], [NavController], [UserData]];
}
constructor(nav, userData, http) {
this.nav = nav;
this.userData = userData;
this.http = http;
this.signup = {};
this.submitted = false;
}
onSignup(form) {
let body = JSON.stringify(form.value);
let headers = new Headers();
headers.append('Content-Type', 'application/x-www-form-urlencoded');
headers.append('Accept', 'application/json');
let options = new RequestOptions({ headers: headers });
this.http.post('http://localhost:8000/api/v1/auth/register', body, options)
.map(res => res.json())
.subscribe(
data => this.success = data
)
.catch(this.handleError);
}
handleError(error) {
console.error(error);
return Observable.throw(error.json().error || 'Server error');
}
}
请帮忙 我认为这是因为您在
参数
getter和构造函数级别使用的提供者的顺序:
static get parameters() {
return [[Http], [NavController], [UserData]]; // <-----
}
constructor(nav, userData, http) { // <-----
}
静态获取参数(){
return[[Http]、[NavController]、[UserData]];//我认为这是因为在参数
getter和构造函数级别使用的提供程序的顺序:
static get parameters() {
return [[Http], [NavController], [UserData]]; // <-----
}
constructor(nav, userData, http) { // <-----
}
静态获取参数(){
return[[Http],[NavController],[UserData]];//谢谢,但现在它显示的是POST 400(错误请求),我已经用postman测试了api,它可以工作了。以防万一,这是我使用的api抱歉…我的坏…我拼写错了应用程序/x-www-form-urlencoded…应该是application/x-www-form-urlencodeded我不这么认为;-)因为你想发送一个表单而不是JSON内容。你应该使用URLSearchParams类来创建pay加载并设置其toString方法的返回值,而不是您的body变量…谢谢,但现在它显示POST 400(错误请求),我已经用postman测试了api,它可以工作了。以防万一,这是我使用的api抱歉…我的坏…我拼写错了应用程序/x-www-form-urlencoded…应该是application/x-www-form-urlencodeded我不这么认为;-)因为你想发送一个表单而不是JSON内容。你应该使用URLSearchParams类来创建pay加载并设置其toString方法的返回值,而不是您的主体变量。。。