Ionic 2 HTTP.post 不发送数据
Ionic 2 HTTP.post not send data
我有一个问题,当我 post 数据到我的 api 服务器时。
我的 api 服务器没有收到任何数据,它是从 ionic 应用程序发送的。
这是我的 api 供应商。
import { Injectable } from '@angular/core';
import { HTTP } from 'ionic-native';
import 'rxjs/add/operator/map';
@Injectable()
export class APIProvider {
constructor() {}
getProduct(){
return new Promise(resolve => {
let header = {"Content-Type": "application/json"}
let body = {
"data_1": "1234567890123",
"data_2": "125615"
}
HTTP.post('https://ex.com/api/somethig', JSON.stringify(body), header)
.then(data => {
console.log(data.status);
console.log(data.data); // data received by server
console.log(data.headers);
resolve(data);
})
.catch(error => {
console.log(error.status);
console.log(error.error); // error message as string
console.log(error.headers);
resolve(error);
});
});
}
}
在api服务器(PHP),我尝试vardump($_POST);
/但是它returnarray(0) {}
控制台日志
[15:20:15] console.log: 200
[15:20:15] console.log: array(0) { }
[15:20:15] console.log: [object Object]
系统信息:
- Cordova CLI:6.5.0
- 离子框架版本:2.0.0
- Ionic CLI 版本:2.2.1
- Ionic 应用程序库版本:2.2.0
- Ionic App 脚本版本:1.0.0
- ios-部署版本:未安装
- ios-sim 版本:未安装
- OS: macOS 塞拉利昂
- 节点版本:v6.9.5
- Xcode 版本:Xcode 8.2.1 构建版本 8C1002
尝试使用“@angular/http”。
import { Http, Headers } from '@angular/http';
constructor(public http: Http) {}
let body = { data_1: "1234567890123", data_2: "125615" };
return new Promise((resolve, reject) => {
let headers = new Headers();
headers.append('Content-Type', 'application/json');
this.http.post('https://ex.com/api/somethig', JSON.stringify(body), {headers: headers})
.subscribe(res => {
resolve(res);
}, (err) => {
reject(err);
});
});
啊啊啊,我找到答案了。
刚刚将 "Content-Type": "application/json"
更改为 "Content-Type": "application/x-www-form-urlencoded"
。
我有一个问题,当我 post 数据到我的 api 服务器时。
我的 api 服务器没有收到任何数据,它是从 ionic 应用程序发送的。
这是我的 api 供应商。
import { Injectable } from '@angular/core';
import { HTTP } from 'ionic-native';
import 'rxjs/add/operator/map';
@Injectable()
export class APIProvider {
constructor() {}
getProduct(){
return new Promise(resolve => {
let header = {"Content-Type": "application/json"}
let body = {
"data_1": "1234567890123",
"data_2": "125615"
}
HTTP.post('https://ex.com/api/somethig', JSON.stringify(body), header)
.then(data => {
console.log(data.status);
console.log(data.data); // data received by server
console.log(data.headers);
resolve(data);
})
.catch(error => {
console.log(error.status);
console.log(error.error); // error message as string
console.log(error.headers);
resolve(error);
});
});
}
}
在api服务器(PHP),我尝试vardump($_POST);
/但是它returnarray(0) {}
控制台日志
[15:20:15] console.log: 200
[15:20:15] console.log: array(0) { }
[15:20:15] console.log: [object Object]
系统信息:
- Cordova CLI:6.5.0
- 离子框架版本:2.0.0
- Ionic CLI 版本:2.2.1
- Ionic 应用程序库版本:2.2.0
- Ionic App 脚本版本:1.0.0
- ios-部署版本:未安装
- ios-sim 版本:未安装
- OS: macOS 塞拉利昂
- 节点版本:v6.9.5
- Xcode 版本:Xcode 8.2.1 构建版本 8C1002
尝试使用“@angular/http”。
import { Http, Headers } from '@angular/http';
constructor(public http: Http) {}
let body = { data_1: "1234567890123", data_2: "125615" };
return new Promise((resolve, reject) => {
let headers = new Headers();
headers.append('Content-Type', 'application/json');
this.http.post('https://ex.com/api/somethig', JSON.stringify(body), {headers: headers})
.subscribe(res => {
resolve(res);
}, (err) => {
reject(err);
});
});
啊啊啊,我找到答案了。
刚刚将 "Content-Type": "application/json"
更改为 "Content-Type": "application/x-www-form-urlencoded"
。