CefSharp:JavaScript fetch() 调用不会进行飞行前 OPTIONS 调用
CefSharp: JavaScript fetch() call doesn't make the pre-flight OPTIONS call
使用 CefSharp 版本 71。
从 JavaScript 进行 fetch() 调用时,理想情况下应该在进行 GET/POST 调用之前进行飞行前 OPTIONS 调用。
但实际上并没有成功。
但是如果我在 Chrome 浏览器中尝试它,它会。
在 Chrome 浏览器上试过了,它确实进行了飞行前 OPTIONS 调用。
结果是,由于未进行 OPTIONS 调用,CORB 正在停止响应。
错误是:
跨源读取阻止 (CORB) 阻止了跨源响应 https://some-api.com/blah with MIME type application/json. See https://www.chromestatus.com/feature/5629709824032768 以获取更多详细信息。
您的 BrowserSettings
中似乎已将 WebSecurity
设置为禁用。
browserPlay.BrowserSettings = new BrowserSettings()
{
WebSecurity = CefState.Disabled
};
重现步骤:
- 在应用中添加以上代码
- 发出跨源 GET 请求,请注意请求是在没有 "Origin:" header 的情况下发出的,并且响应没有 CORS headers。
- 在控制台中,您将看到以下 CORB 错误:
Cross-Origin Read Blocking (CORB) blocked cross-origin response
- 我在 CEF 版本
73.1.13
上测试了以上内容
使用 CefSharp 版本 71。
从 JavaScript 进行 fetch() 调用时,理想情况下应该在进行 GET/POST 调用之前进行飞行前 OPTIONS 调用。
但实际上并没有成功。 但是如果我在 Chrome 浏览器中尝试它,它会。
在 Chrome 浏览器上试过了,它确实进行了飞行前 OPTIONS 调用。
结果是,由于未进行 OPTIONS 调用,CORB 正在停止响应。 错误是: 跨源读取阻止 (CORB) 阻止了跨源响应 https://some-api.com/blah with MIME type application/json. See https://www.chromestatus.com/feature/5629709824032768 以获取更多详细信息。
您的 BrowserSettings
中似乎已将 WebSecurity
设置为禁用。
browserPlay.BrowserSettings = new BrowserSettings()
{
WebSecurity = CefState.Disabled
};
重现步骤:
- 在应用中添加以上代码
- 发出跨源 GET 请求,请注意请求是在没有 "Origin:" header 的情况下发出的,并且响应没有 CORS headers。
- 在控制台中,您将看到以下 CORB 错误:
Cross-Origin Read Blocking (CORB) blocked cross-origin response
- 我在 CEF 版本
73.1.13
上测试了以上内容