我正在使用Ionic的最新测试版,我已经为我的api服务器做了一个http post方法 . 但 Headers 不会随请求一起发送 . 我使用的代码如下:**离子版 - Beta-8和Angular版-rc.3
import {Page,App,NavParams} from 'ionic-angular';
import {Headers, Http, RequestOptions} from '@angular/http';
import {Component} from '@angular/core';
import 'rxjs/add/operator/map';
@Component({
templateUrl : 'build/pages/xyz/xyz.html'
})
export class Xyz{
form:any;
token:any;
constructor(public app:App, navParams:NavParams, public http:Http){
let code = {abc : 'abc'};
let headers = new Headers();
let body = JSON.stringify(code);
headers.append('Content-Type', 'application/json');
headers.append('Authorization', 'Bearer ' + "tokenContent");
let options =new RequestOptions({headers : headers, body:body});
this.http.post('http://myserver/myapi', options)
.map(res => res.json())
.subscribe(
data=>{
console.log(data.message);
},
err=>{
console.log(err);
},
()=>{
console.log("Process Complete");
}
);
当我查看console.log选项对象和 Headers 时, Headers 设置正确 . 但是当我发出http请求时,当我将它们包含在options对象中时, Headers 和正文都没有被发送 . 但是当我尝试单独发送身体时,我能够在请求有效载荷中看到它 .
3 回答
如果您从浏览器进行测试,则无效 . 请查看与文档相关的CORS请求 .
http://blog.ionic.io/handling-cors-issues-in-ionic/
这应该适合你,因为
http.post
的第二个参数是正文:首先,检查此问题是否适用于CORS .
另外,请尝试以下代码: