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 CVRP 图论 物流运输优化
  • ¥15 Tableau online 嵌入ppt失败
  • ¥100 支付宝网页转账系统不识别账号
  • ¥15 基于单片机的靶位控制系统
  • ¥15 真我手机蓝牙传输进度消息被关闭了,怎么打开?(关键词-消息通知)
  • ¥15 下图接收小电路,谁知道原理
  • ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
  • ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
  • ¥15 手机接入宽带网线,如何释放宽带全部速度
  • ¥30 关于#r语言#的问题:如何对R语言中mfgarch包中构建的garch-midas模型进行样本内长期波动率预测和样本外长期波动率预测