在天蓝色移动服务中,CORS设置已经消失了

时间:2014-09-05 21:24:39

标签: javascript azure azure-mobile-services

TL / DR

MSDN azure文章指的是转到"配置" https://manage.windowsazure.com/移动服务设置的一部分,用于将其他URL添加到CORS。它似乎已经不存在了 - 任何想法已经消失了吗?

背景较长的故事:

尝试按照这篇文章: http://azure.microsoft.com/en-us/documentation/articles/mobile-services-html-how-to-use-client-library/

和这个相关联的: http://azure.microsoft.com/en-us/documentation/articles/mobile-services-html-get-started-data/

我已经按照这篇文章创建了一个带有sql server数据库的天蓝色移动服务(其中包含一个简单的表格。)

然后我尝试使用js代码在我的网络服务器(localhost:8000/)上连接它:

var MobileServiceClient = WindowsAzure.MobileServiceClient;
var client = new MobileServiceClient('https://myappnamehere.azure-mobile.net/', 'mykeyhere');

然后我打电话询问一些数据:

var table = client.getTable('mytablename');
var query = table.where({
    complete: false
}).read().done(function (results) {
    console.log(results);
}, function (err) {
    console.log(err);
});

where调用使用以下消息运行错误回调:

  

" XMLHttpRequest无法加载   https://myappnamehere.azure-mobile.net/tables/tablename?$滤波器=(完全%20当量%20false)。   No' Access-Control-Allow-Origin'标题出现在请求的上   资源。起源' localhost:8000'因此是不允许的   。接入"

我猜这是因为虽然本地主机允许在服务器端允许CORS设置localhost:8000 isn&#t; t。

麻烦的是,上面的两篇文章都指的是进入"配置" https://manage.windowsazure.com/移动服务设置的一部分,用于将其他URL添加到CORS。它似乎已经不存在了 - 任何想法已经消失了吗?

我寻找的所有其他文章都谈到在配置文件中设置它等等,但重点是我不想将代码推送到服务器端。第一篇文章肯定意味着我可以创建服务和sql server表,然后从javascript客户端(可能是通过使用OData自动化)与它交谈。这可能是正确的还是文章的那部分完全错误呢?!

1 个答案:

答案 0 :(得分:1)

如果您正在使用JavaScript(node.js)后端,那么您将看到跨域资源共享(cors)域列表。在.NET后端,尚未提供支持,但您应该可以按照instructions to enable CORS for Web API添加它(毕竟,.NET后端是在该平台之上构建的)。

由于您正在本地主机上访问您的服务,我假设您正在使用.NET后端,这就是您无法在其中看到CORS域名列表的原因。门户。集成支持应该很快就会出现,但在此之前,您可以手动添加支持,如上面链接的文档中所述。