【问题标题】:not able to send data with http.post ionic无法使用 http.post 离子发送数据
【发布时间】:2018-10-17 12:06:23
【问题描述】:

我无法使用以下代码通过 http.post 发送数据。我能够得到响应,但无法发送数据进行处理。

以下是代码:

appServer.ts

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');
        })
    }
}

botfeeds.php

header('Access-Control-Allow-Origin: *');
header('Access-Control-Allow-Methods: POST');
header('Access-Control-Allow-Headers: Content-Type');

echo json_encode($array);

console.log(res) 返回一个空值/

【问题讨论】:

  • 更新了 appServer.ts 的完整代码。任何帮助表示赞赏。

标签: javascript java php typescript ionic-framework


【解决方案1】:

您不能发送发布数据,即当您使用

发送数据时

标题内容类型:application/json 你在 php 的 $_POST 变量中看不到它。

你必须发送数据

标头Content-Type: application/x-www-form-urlencoded

然后你就可以在服务器上看到 Post 数据了。

【讨论】:

  • 仍然无法正常工作。仍然为 $_POST 得到一个空数组
  • 你得到什么回应。我试过并得到 403。
  • response 是一个包含 post 数组(返回空)和其他 2 个文本元素的对象。
【解决方案2】:

http.post 接受三个参数

1) 网址,

2) 您要发送的数据,

3)标题

在您指定为 json 的标头中 但是你正在做 JSON.stringify 它会将它转换成字符串可能是这个错误。按原样发送可能会解决问题。

试试这个

this.http.post('http://www.o9village.com/myBOT_api/botfeeds.php', req, headers)

【讨论】:

  • 我只是将 $_POST 添加为一个数组并将其返回。该数组显示带有空值的帖子。
  • 不要尝试在 php 中打印并在您返回之前查看
  • 另请参阅发送一些文本。打印它发送的是什么
  • 是的。在后端(php)添加的文本可以成功回显。我将它们设置在数组中,其中包含我添加的一些文本的 2 个其他参数。文本可以返回,但包含 post 数组的元素为空。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-10-15
  • 1970-01-01
  • 2018-04-21
  • 2017-07-05
  • 1970-01-01
相关资源
最近更新 更多