Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/http/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Typescript 离子本机HTTP返回未定义 我正在尝试从angular http迁移到ionic native http_Typescript_Http_Plugins_Native_Ionic4 - Fatal编程技术网

Typescript 离子本机HTTP返回未定义 我正在尝试从angular http迁移到ionic native http

Typescript 离子本机HTTP返回未定义 我正在尝试从angular http迁移到ionic native http,typescript,http,plugins,native,ionic4,Typescript,Http,Plugins,Native,Ionic4,插件:cordova插件高级http 这是get调用的代码: let response = from(this.http.post(url, {body}, {httpOptions}) .then(res => { return JSON.parse(res.data) }, res => console.log(res.data))); return response; 这是我尝试过的另一种方法: let promise = this.http.ge

插件:cordova插件高级http

这是get调用的代码:

let response =  from(this.http.post(url, {body}, {httpOptions})
            .then(res => { return JSON.parse(res.data) }, res => console.log(res.data)));

return response;
这是我尝试过的另一种方法:

let promise = this.http.get(url, {}, {httpOptions})
            .then(data => {
                console.log(data.status);
                console.log(data.data); // data received by server
                console.log(data.headers);
                return JSON.parse(data.data);
            })
            .catch(error => {
                console.log(error.status);
                console.log(error.error); // error message as string
                console.log(error.headers);
            });

return from(promise);
返回值和控制台日志值始终是未定义的

在此之前,我使用AngularHTTP进行了测试,效果很好。 像这样:

return this.http
          .post(url, body, httpOptions);
有什么问题?任何解决方案都可以

从'@angular/common/http'导入{HttpClient};
import { HttpClient } from '@angular/common/http';
import { HTTP } from '@ionic-native/http';
...
private headers: any = {};

constructor
  (
    public http: HttpClient,
    private Http: HTTP,
  ){
    this.headers = {
      'Content-Type': 'application/x-www-form-urlencoded',
      'Accept': 'application/json'
    };
    this.Http.setRequestTimeout(10.0);
  }

...

async httpPost( url? , data? ):Promise<any>{

    let self = this;

    return new Promise( (resolve) => {
      self.Http.post( url , data, self.headers )
        .then(res => {
          console.log(res);
          var response = JSON.parse(res.data);
          resolve(response);
        })
        .catch(error => {
          resolve(error);
        });
    });

  }
从'@ionic native/HTTP'导入{HTTP}; ... 私有头:any={}; 建造师 ( 公共http:HttpClient, 私有Http:Http, ){ this.headers={ “内容类型”:“应用程序/x-www-form-urlencoded”, “接受”:“应用程序/json” }; 这个.Http.setRequestTimeout(10.0); } ... 异步httpPost(url?、数据?):承诺{ 让自我=这个; 返回新承诺((解决)=>{ self.Http.post(url、数据、self.headers) 。然后(res=>{ 控制台日志(res); var response=JSON.parse(res.data); 决心(回应); }) .catch(错误=>{ 解决(错误); }); }); }
从'@angular/common/http'导入{HttpClient};
从'@ionic native/HTTP'导入{HTTP};
...
私有头:any={};
建造师
(
公共http:HttpClient,
私有Http:Http,
){
this.headers={
“内容类型”:“应用程序/x-www-form-urlencoded”,
“接受”:“应用程序/json”
};
这个.Http.setRequestTimeout(10.0);
}
...
异步httpPost(url?、数据?):承诺{
让自我=这个;
返回新承诺((解决)=>{
self.Http.post(url、数据、self.headers)
。然后(res=>{
控制台日志(res);
var response=JSON.parse(res.data);
决心(回应);
})
.catch(错误=>{
解决(错误);
});
});
}

您应该在回答中解释一些内容现在请求到达服务器,但返回不受支持的内容类型错误,有没有办法发送应用程序/json?您应该在回答中解释一些内容现在请求到达服务器,但返回不受支持的内容类型错误,有没有办法发送application/json?