我无法通过http.post使用以下代码发送数据。我能够得到回复,但无法发送数据进行处理。
以下是代码:
appServer.ts
https://code.jquery.com/ui/1.12.1/jquery-ui.min.js
botfeeds.php
import { Component } from '@angular/core';
import { Http, HttpModule, Headers } from '@angular/http';
import 'rxjs/add/operator/map';
@Component({
selector: 'server',
templateUrl: 'home.html'
})
export class appServer {
connectServer: any;
send_data: any;
constructor(private http: Http) {
}
serverConnect(){
let headers = new Headers({'Content-Type': 'application/x-www-form-urlencoded'});
let req = {call: 'insert_BOT',data: this.send_data};
this.http.post('http://www.o9village.com/myBOT_api/botfeeds.php',JSON.stringify(req), headers)
.map(res=>res.json())
.subscribe(res=>{
this.connectServer = res;
console.log(res);
},(err)=>{
console.log('Can\'t fetch data');
})
}
}
console.log(res)返回空值/
答案 0 :(得分:0)
您无法发送帖子数据,即使用
发送数据时标题内容类型:application / json 你在PHP中的$ _POST变量中看不到它。
您必须使用
发送数据标题内容类型:application / x-www-form-urlencoded
然后您将能够在服务器上看到发布数据。
答案 1 :(得分:0)
http.post需要三个参数
1)网址,
2)您要发送的数据,
3)报头
在您指定为json的标头中 但你正在做JSON.stringify它会把它转换成字符串可能这是错误。发送它可能会解决问题。
试试这个
this.http.post('http://www.o9village.com/myBOT_api/botfeeds.php', req, headers)