我正在使用Javascript库在Azure存储表中创建实体 . 幸运的是,Azure supports Cross-Origin Resource Sharing (CORS) . 默认情况下禁用CORS . 使用Set Table Service Properties API可以在有限的时间内为特定域和方法启用它 .

启用CORS要求您使用 Headers Authorizationx-ms-datex-ms-versionhttps://<account-name>.table.core.windows.net/?restype=service&comp=properties 发出non-simple requestPUT 请求 . 当库发出HTTP请求时,浏览器首先向URL发送预检请求 . 预检请求始终失败,因为未对该URL启用CORS . 由于预检请求失败,实际请求失败 .

在这种情况下,似乎无法通过客户端javascript方法为Azure存储服务启用CORS . 是这样吗?是否有人使用这些API并设法使其正常工作?

NOTE: 拥有代理方法总是一种选择(其中包括) . 我们可以在服务器端创建一个API来启用CORS甚至创建实体而不需要任何客户端执行(这不需要进行任何跨域请求 . 但是,我不是在寻找 . 我更感兴趣的是解决这个问题 . 仅使用客户端功能的问题 .