Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/28.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在Shining Server(非Pro)中添加访问控制允许源站?_Javascript_R_Angular_Cors_Shiny Server - Fatal编程技术网

Javascript 如何在Shining Server(非Pro)中添加访问控制允许源站?

Javascript 如何在Shining Server(非Pro)中添加访问控制允许源站?,javascript,r,angular,cors,shiny-server,Javascript,R,Angular,Cors,Shiny Server,CORS策略已阻止从源“”访问“”处的XMLHttpRequest:请求的资源上不存在“访问控制允许源”标头 我通过Angular框架调用HttpRequest 我试过了 但我们不能说每个用户都要安装特定的扩展才能使用它 大家都知道,Shinny server pro不是开源的&它将超出我们项目的预算。那么,有什么永久性的解决办法来解决这个问题吗 export class DashboardService { private apiUrl = 'http://10.131.12.49:80

CORS策略已阻止从源“”访问“”处的XMLHttpRequest:请求的资源上不存在“访问控制允许源”标头

我通过Angular框架调用HttpRequest

我试过了

但我们不能说每个用户都要安装特定的扩展才能使用它

大家都知道,Shinny server pro不是开源的&它将超出我们项目的预算。那么,有什么永久性的解决办法来解决这个问题吗

export class DashboardService {

  private apiUrl = 'http://10.131.12.49:8010/get.me.data?opt=All';

  //jsonp: any;
  constructor(
    // private http: Http, 
    private http:HttpClient,
  ) { }

  CustReport() {  
    return this.http.get(this.apiUrl)
  }
预期结果:

[{"AVG_THROUGHPUT":1976.0432,"AVG_DCR":0.0919}]
闪亮服务器(非专业版)不支持设置自定义标题。所以,在本例中,您可以创建一个简单的http服务器,将您的请求代理到该服务器。然后使用{path}进行API调用

consthttp=require(“http”);
const httpProxy=require(“http代理”);
constproxy=httpProxy.createProxyServer({});
const server=http.createServer(函数(req,res){
res.oldWriteHead=res.writeHead;
res.writeHead=(状态代码、标题)=>{
res.setHeader(“访问控制允许原点”,“*”);
res.setHeader(“访问控制公开头”,“*”);
res.setHeader(“访问控制允许凭据”,“true”);
res.setHeader(
“访问控制允许方法”,
获取、发布、修补、放置、删除、选项
);
res.oldWriteHead(状态代码、标题);
};
如果(请求方法==“选项”){
书面记录(200);
res.end();
返回;
}
proxy.web(请求、回复、{
//目标到服务器
目标:“http://10.131.12.49:8010"
});
});
监听(5050);

日志(“监听端口5050”)您不能修改服务器。如果我们考虑到您所处的环境,这种方法将不起作用。 我建议您使用后端作为angular应用程序和Shiney服务器之间的中间件。 为此,您可以在后端创建端点,如:

/api/cors?url=http://10.131.12.49:8010/get.me.data?opt=All