我在Ionic 1 AngularJS的组合中工作得很多,但在进入趋势之后,Ionic 3 Angular在简单的HTTP post请求中面临一些问题。
让我解释下面的情景。
app.module.ts
import { HttpModule} from '@angular/http';
@NgModule({
imports: [
BrowserModule,
IonicModule.forRoot(MyApp),
HttpModule
]
})
login.ts
import {Http, Headers, RequestOptions} from '@angular/http';
let link = 'http://demo.mydomain.com/myservice/login';
var headers = new Headers();
headers.append("Accept", 'application/json');
headers.append('Content-Type', 'application/x-www-form-urlencoded');
headers.append('Access-Control-Allow-Origin', 'http://localhost');
headers.append('Access-Control-Allow-Methods', 'GET, POST, OPTIONS, PUT, PATCH, DELETE');
headers.append('Access-Control-Allow-Headers', 'X-Requested-With,content-type');
headers.append('Access-Control-Allow-Credentials', 'true');
let options = new RequestOptions({headers: headers});
let postParams = JSON.stringify({"password":this.passCode, "userName":this.userName});
this.http.post(link, postParams, options)
.subscribe(data => {
alert("data");
}, error => {
alert("error");
});
使用离子服务器在浏览器中耗尽时低于响应。
Failed to load http://demo.mydomain.com/myservice/login: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost:8105' is therefore not allowed access. The response had HTTP status code 400.
根据我的理解,如果在安装Chrome CORS插件之后它是否存在基于CORS的问题以及同样的问题。
即使我尝试使用ionic cordova run android
直接运行Android手机也会导致错误阻止。
答案 0 :(得分:-1)
/authorize
在我的离子3应用程序中,这些代码在http post方法中对我有用。