我试图寻找答案,有些是接近但不是我想要的。
这是我的问题,我正在开发一个Ionic应用程序,目前正在开发Web浏览器视图。我无法将任何内容发回我的asp dotnet核心后端。
我的堆栈如下: 前端
以下是我正在尝试的帖子的代码:
let body =JSON.stringify({ 'username': username, 'password': password });
let options = new RequestOptions({headers:new Headers()});
options.headers.set('Content-Type', 'application/json; charset=UTF-8');
options.headers.set( 'Accept', 'application/json' );
return this.http.post(this.loginUrl,body,options)
.map((res: Response) => res.json())
.catch((error: any) => {
console.log("ERROR", error);
return Observable.throw(error.json().error || 'Server error')
})
我的代理已
add_header 'Access-Control-Allow-Origin' *;
我的支持在Startup.cs中有以下CORS配置
options.AddPolicy("CorsPolicy",
builder => builder.AllowAnyOrigin()
.AllowAnyMethod()
.AllowAnyHeader()
.AllowCredentials());
});
并在配置功能
中 app.UseMvc().UseCors("CorsPolicy");
我在Visual Studio 2017的输出窗口中看到响应到达容器:
Application Insights Telemetry (unconfigured): {"name":"Microsoft.ApplicationInsights.Dev.Request","time":"2017-07-15T19:29:10.5330300Z","tags":{"ai.internal.nodeName":"9a9595bd67c1","ai.operation.id":"0HL6BMO90PHKC","ai.application.ver":"1.0.0.0","ai.operation.name":"OPTIONS Users/AuthenticateUser","ai.internal.sdkVersion":"aspnet5c:2.0.0","ai.cloud.roleInstance":"9a9595bd67c1","ai.location.ip":"172.18.0.5"},"data":{"baseType":"RequestData","baseData":{"ver":2,"id":"HKmnWfByHeU=","name":"OPTIONS Users/AuthenticateUser","duration":"00:00:11.2837000","success":false,"responseCode":"415","url":"http://leo.users/users/authenticate","properties":{"DeveloperMode":"true","httpMethod":"OPTIONS","AspNetCoreEnvironment":"Development"}}}}
我尝试了多种方法在Ionic 2侧设置标头。 我不知道该怎么做/如果我只是遗漏了什么。非常感谢帮助。
由于
答案 0 :(得分:1)
感谢misha130上面的评论。这解决了我的问题。
我只需要更新我的离子代理文件并添加:
context = jObject.pop('runContext')
jObject['context']['user'] = {}
jObject['context']['user'] = context
再次感谢。