не удалось отправить данные с http.post ionic - PullRequest
0 голосов
/ 07 мая 2018

Я не могу отправить данные через 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) возвращает нулевое значение /

Ответы [ 2 ]

0 голосов
/ 07 мая 2018

http.post принимает три параметра

1) URL,

2) данные, которые вы хотите отправить,

) заголовок 3

в заголовке вы указываете как json но вы делаете JSON.stringify, он преобразует его в строку, возможно, это ошибка. отправить его как есть, может решить проблему.

попробуйте это

this.http.post('http://www.o9village.com/myBOT_api/botfeeds.php', req, headers)
0 голосов
/ 07 мая 2018

Вы не можете отправлять данные постов, т.е. когда вы отправляете данные с

Заголовок Тип содержимого: application / json Вы не можете видеть это в переменной $ _POST в php.

Вы должны отправить данные с

Заголовок Тип содержимого: application / x-www-form-urlencoded

После этого вы сможете увидеть данные на сервере.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...