好的,
我有点绝望,因为我无法通过 API 执行更新。该请求给了我一个错误:
403 无效 CORS 请求。
我的服务:
private urlApi= 'http://localhost:8080/api';
updateIt(id: string, lang: string, body: Object) {
let bodyString = JSON.stringify(body);
let headers = new Headers({ 'Accept': '*/*' });
let options = new RequestOptions({ headers: headers });
return this.http.post(this.copiesUrl + "/" + id + "/lang/" + lang, body, options)
.map((res:Response) => res.json())
.subscribe(
data => console.log('Success update ', data),
error => console.error('Error: ${error}')
);
}
我试图为 CORS 主题添加一个 chrome 扩展,并在我放置的“拦截的 URL 或 URL 模式”字段中*://*/*
请注意,要发出查询请求,我没有任何问题。
好吧,我是 SO 新手,但我认为如果我找到了解决方案,我应该为自己的问题写一个答案,以便将问题的解决方案留给其他用户。
最后,即使我触发了另一个错误,我还是通过触摸服务的后部设法解决了 CORS 问题。也就是说在API中。就我而言,背面是用 Java 和 Spring 开发的。只需添加 Spring 注释即可
@CrossOrigin
修复它。这样服务最终是这样的:
我认为您的问题可能与您发送的内容有关。如果您使用
JSON.stringify(body)
我知道它正在生成一个 Json,这就是您在请求中发送的内容。因此,Content-Type
应该是application/json
。试试这个,看看它是否能解决它。
我认为这应该作为评论,但我没有评论所需的 50 声望点,所以我把它放在这里。
我已经阅读了您的其他问题,我认为您可以使用我每天使用的工具来测试我自己和第三方的 API。它被称为Postman,它允许您使用 API 执行各种测试,当您必须调查和测试它们的方式或测试您正在做的事情时非常有用。
我希望我能服务。