Angular WordPressAPI和JWT身份验证在代码中无法正常工作,即使它可以在PostMan上工作
我面临以下错误。我尝试了多种解决方案,但在web.config中添加“Access Control Allow Origin”并不会以积极的方式改变结果 另一方面,我用邮递员作为测试的替代品,它工作得完美无缺 基于以上证据,我认为错误出在认证码的某个地方 下面是身份验证函数片段Angular WordPressAPI和JWT身份验证在代码中无法正常工作,即使它可以在PostMan上工作,angular,wordpress-rest-api,jwt-auth,windows-hosting,Angular,Wordpress Rest Api,Jwt Auth,Windows Hosting,我面临以下错误。我尝试了多种解决方案,但在web.config中添加“Access Control Allow Origin”并不会以积极的方式改变结果 另一方面,我用邮递员作为测试的替代品,它工作得完美无缺 基于以上证据,我认为错误出在认证码的某个地方 下面是身份验证函数片段 auth() { this.http.post('http://*****.*****.com/two/wp-json/jwt-auth/v1/token', { username: this
auth() {
this.http.post('http://*****.*****.com/two/wp-json/jwt-auth/v1/token', {
username: this.user.login,
password: this.user.password
}).subscribe((data) => {
if (data['token']) {
this.token = data['token'];
this.tokenChange.emit(this.token);
}
});
}
设置:
Windows服务器共享主机(godaddy)
角度7.0.4,
Wordpress带有“WP-API的JWT认证”插件
图1。显示错误的JS控制台。“Access Control Allow Origin”不是问题,因为我在PostMan上测试了它,它工作正常。
CORS仅在浏览器中强制执行,这就是为什么它在Postman中有效。您需要确保后端发送适当的
Access Control Allow Origin
header无需将Access Control Allow Origin
头添加到本地web.config,检索posts
时api正常工作。如果我将Access Control Allow Origin
标题添加到web.config,(),我将无法检索posts
和authenticate
。并且,它会抛出一个错误多址控制允许源站不允许
图像中的消息表示它没有接收到该标头。如果您检查browser developer tools network(浏览器开发人员工具网络)选项卡,并找到失败的请求,则响应中是否实际发送了访问控制允许源文件
?通常,如果我将访问控制允许源文件
显式添加到web.config,我收到以下错误跨源请求被阻止:同源策略不允许读取http://*****************.com/two/wp json/wp/v2/posts上的远程资源。(原因:不允许多个CORS标题“访问控制允许来源”