douyuanqia665858 2018-07-16 11:59
浏览 69

如何将数据从离子发布到restful api(Codeigniter)?

I have a problem to post data from ionic 3 to restfull api using codeigniter, i don't know why, I have looked for example in google but failed all.

This is 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);     
}

This is myscript (Ionic 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);
                });
        });
    }
}

Please anyone help me to solve this problem, 2 days again I must collect this duty to my lecture.

Thanks.

  • 写回答

1条回答 默认 最新

  • duanbimo7212 2018-07-16 12:35
    关注
    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', form)

    codeigniter defulty accept only form data

    评论

报告相同问题?

悬赏问题

  • ¥15 安装svn网络有问题怎么办
  • ¥15 Python爬取指定微博话题下的内容,保存为txt
  • ¥15 vue2登录调用后端接口如何实现
  • ¥65 永磁型步进电机PID算法
  • ¥15 sqlite 附加(attach database)加密数据库时,返回26是什么原因呢?
  • ¥88 找成都本地经验丰富懂小程序开发的技术大咖
  • ¥15 如何处理复杂数据表格的除法运算
  • ¥15 如何用stc8h1k08的片子做485数据透传的功能?(关键词-串口)
  • ¥15 有兄弟姐妹会用word插图功能制作类似citespace的图片吗?
  • ¥15 latex怎么处理论文引理引用参考文献