我的 Angular 2 应用程序遇到了一个非常奇怪的问题。我实际上想对我的 Play Scala API 进行包含 JSON 的 POST 调用,但它一直想尝试进行 OPTIONS 调用。
这是我的代码:
登录服务
constructor (private _apiEndpoint: ApiEndpoint) {}
postLogin(login: string, credential: string): Observable<AuthToken> {
let headers = new Headers({ "Content-Type": "application/json" })
let jsonLogin = {"login": login, "password": credential}
return this._apiEndpoint.postLogin(JSON.stringify(jsonLogin), headers)
.map(this._apiEndpoint.extractData)
}
API端点
constructor (private _http: Http) {}
postLogin(body: string, options: any) {
return this._http.post("http://localhost:9000/login", body, {
headers: options
})
}
然后,当我尝试拨打电话时(我尝试通过 console.log 检查 JSON 并且它是正确的),并且无论出于何种原因,该电话都会尝试进行 OPTIONS 调用:
有人有想法吗?谢谢 !
您正在发出跨域请求。
请求是localhost:9000
是由localhost:9002
.
浏览器使用 OPTIONS 动词创建一个飞行前请求,以便知道他是否可以继续并发出“真正的”请求。
了解有关 CORS 的更多信息here https://developer.mozilla.org/en-US/docs/Web/HTTP/Access_control_CORS.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)