簡體   English   中英

無法使用http.post ionic發送數據

[英]not able to send data with http.post ionic

我無法使用以下代碼通過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)返回一個空值/

您無法發送帖子數據,即當您使用

標頭Content-Type:application / json,您無法在php的$ _POST變量中看到它。

您必須使用

標頭內容類型:application / x-www-form-urlencoded

然后,您將能夠看到在服務器上發布數據。

http.post具有三個參數

1)網址,

2)您要發送的數據,

3)標題

在您指定為json的標頭中,但是您正在執行JSON.stringify,它將把它轉換成字符串,這可能是錯誤的。 照原樣發送可能會解決問題。

嘗試這個

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM