Iis 选项后的下一步/200OK
Aurelia SPA对不同的源服务器使用fetch。发送飞行前选项请求,由于服务器配置为响应,因此响应为200 OK 但这就是所发生的一切 我必须补充什么才能让剩下的事情发生 这是请求Iis 选项后的下一步/200OK,iis,cors,aurelia-fetch-client,Iis,Cors,Aurelia Fetch Client,Aurelia SPA对不同的源服务器使用fetch。发送飞行前选项请求,由于服务器配置为响应,因此响应为200 OK 但这就是所发生的一切 我必须补充什么才能让剩下的事情发生 这是请求 this.http.fetch(this.LabelServiceUrl, { method: "post", mode: "cors", headers: { "Content-type": "application/json; charset=UTF-8" }
this.http.fetch(this.LabelServiceUrl, {
method: "post",
mode: "cors",
headers: {
"Content-type": "application/json; charset=UTF-8"
},
body: json({
printer: this.LabelPrinter,
html: html
})
}).then(json)
.then(response => {
console.log('Success:', JSON.stringify(response))
})
.catch(error => {
console.error('Error:', error)
});
IIS由web.config配置
<system.webServer>
<httpProtocol>
<customHeaders>
<add name="Access-Control-Allow-Origin" value="*" />
</customHeaders>
</httpProtocol>
</system.webServer>
您不必做任何特殊的事情,神奇的事情就会发生,然后请求会以正常的响应发送 如果这没有发生,就像在我的例子中一样,这是因为代码中的某些内容不符合犹太教,但是错误在握手过程中丢失了,一切都停止了
在web服务中放置一个测试页,这样就可以在不使用CORS的情况下运行web api。解决错误后,请使用应用程序再次测试。在我的例子中,问题是从一个post接收复杂的参数到一个对象图,这是一个长期困扰我的问题;我的类不适合WebAPI魔术解析。您的system.webServer还需要设置一个值为“Content type”的访问控制允许标头响应标头。这是因为您的请求正在设置内容类型头。看见您的配置还需要设置一个值为'POST'的访问控制允许方法响应头。见。看看