由于没有Access-Control-Allow-Origin标头,导致浏览器错误

时间:2018-10-09 20:02:34

标签: javascript node.js browser ibm-cloud browserify

当我尝试运行嵌入在浏览器中的JavaScript应用程序时出现此错误:

  

browser.html:1无法加载https://iam.bluemix.net/oidc/token:对预检请求的响应未通过访问控制检查:所请求的资源上没有'Access-Control-Allow-Origin'标头。因此,不允许访问原始“空”。

这是我的网页:

<!DOCTYPE html>
<html>
  <head>
    <script src="bundle.js"></script>
  </head>
  <body>
    <h1>A Web Page</h1>
    <p id="demo">A Paragraph</p>
  </body>
</html>

我通过在浏览器中打开/path/to/browser.html在本地运行它。

这是browser.js的内容:

var cos = require('ibm-cos-sdk');

var config = {
  endpoint: 'endpoint',
  apiKeyId: 'api_key',
  serviceInstanceId: 'instance_id',
  ibmAuthEndpoint: 'https://iam.bluemix.net/oidc/token',
  s3ForcePathStyle: true
};

var cos = new cos.S3(config);
var bucket = 'bucket_name';

function doCreateBucket() {
  return cos.createBucket({
    Bucket: bucket,
      CreateBucketConfiguration: {
    }
  }).promise();
}

doCreateBucket();

bundle.js是通过browserify browser.js -o bundle.js生成的。

有什么办法解决吗?

其他信息

我在网上偶然发现一些问题,这表明我的问题是因为正在使用file://来方便地访问该页面,因此我应该尝试http://,因此我将该页面部署到了网络服务器上并通过{{1 }},但这没什么区别。

0 个答案:

没有答案