gpt4 book ai didi

c# - 在 Starcounter 中启用 CORS

转载 作者:太空宇宙 更新时间:2023-11-03 22:50:06 26 4
gpt4 key购买 nike

我正在尝试从另一台主机上的网站中的脚本向我的 Starcounter 应用程序发送浏览器请求。我得到一个错误:

Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at . This can be fixed by moving the resource to the same domain or enabling CORS

在 Starcounter 应用中启用 CORS 的最佳方式是什么?

最佳答案

如果你想在网络浏览器中接受来自其他主机的请求,你需要实现 CORS。这在 Starcounter 中的完成方式与在大多数其他应用程序框架中的方式相同。

要接受来自任何主机的GET 请求或简单的POST 请求(带有标准 header ),您只需要添加一个响应 header Access-Control-Allow -Origin: * 到您的 HTTP GET 处理程序。例如:

Handle.GET("/myapp/some-page", () => {
var page = new Json();
var response = new Response();
response.Resource = page;
response.Headers["Access-Control-Allow-Origin"] = "*";
return response;
});

要接受所有更改服务器上某些内容的请求(POSTPUTDELETE),您应该实现一个OPTIONS 预检请求处理程序到您的 POSTPUTDELETE 处理程序中的相同 URI。例如:

Handle.PUT("/myapp/some-page", () => {
var page = new Json();
/* some logic ... */
var response = new Response();
response.Resource = page;
response.Headers["Access-Control-Allow-Origin"] = "*";
return response;
});

Handle.OPTIONS("/myapp/some-page", () => {
var response = new Response();
response.Resource = page;
response.Headers["Access-Control-Allow-Origin"] = "*";
response.Headers["Access-Control-Allow-Methods"] = "POST, PUT, GET, OPTIONS";
response.Headers["Access-Control-Allow-Headers"] = "*";
return response;
});

阅读更多关于 CORS 的信息:- https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS- https://www.html5rocks.com/en/tutorials/cors/

关于c# - 在 Starcounter 中启用 CORS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47815320/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com