我在使用codeigniter将数据从ionic 3发布到restfull api时遇到问题,我不知道为什么,我在google中进行了查找,但都失败了。
这是Restfull api(codeigniter):
public function create_user() {
$data = array(
'id' => $this->input->post('id', TRUE),
'name' => $this->input->post('name', TRUE),
'email' => $this->input->post('email', TRUE)
);
$query = $this->model_user->create_user($data);
if($query == false) {
$outputData = (object)array(
'status' => false,
'msg' => 'Register Failed',
'redirect' => null
);
}else{
$outputData = (object)array(
'status' => true,
'msg' => 'Register Success',
'redirect' => 'home'
);
}
$this->output($outputData);
}
这是我的剧本(离子3):
Profile.ts
import { Component } from '@angular/core';
import { IonicPage, NavController, NavParams } from 'ionic-angular';
import { ResProvider } from '../../providers/res/res';
@IonicPage()
@Component({
selector: 'page-profile',
templateUrl: 'profile.html',
})
export class ProfilePage {
constructor(public navCtrl: NavController, public navParams: NavParams, public resProvider: ResProvider) {
}
registerForm() {
this.resProvider.postRegister()
.then(data => {
console.log(data);
});
}
}
res.ts
import { HttpClient, HttpHeaders } from '@angular/common/http';
import { Injectable } from '@angular/core';
@Injectable()
export class ResProvider {
constructor(public http: HttpClient) {
console.log('Hello ResProvider Provider');
}
postRegister() {
let params = {
'id': 11,
'name': 'frank',
'email': 'frank@gmail.com'
};
return new Promise((resolve, reject) => {
this.http.post('http://localhost/api/user/create_user', params)
.subscribe(res => {
resolve(res);
}, (err) => {
reject(err);
});
});
}
}
请任何人帮助我解决这个问题,我必须再2天在我的演讲中收集这项职责。
谢谢。
答案 0 :(得分:0)
postRegister() {
let headers = new Headers({'Content-Type': 'application/x-www-form-urlencoded'});
var form = new FormData();
form.append("id", "11");
form.append("name", "frank");
form.append("email", "frank@gmail.com");
return new Promise((resolve, reject) => {
this.http.post('http://localhost/api/user/create_user', form,{headers:headers})
.subscribe(res => {
resolve(res);
}, (err) => {
reject(err);
});
});
}
this.http.post('http://localhost/api/user/create_user',形式)
codeigniter缺陷仅接受表单数据