TL / DR
MSDN azure文章指的是转到"配置" https://manage.windowsazure.com/移动服务设置的一部分,用于将其他URL添加到CORS。它似乎已经不存在了 - 任何想法已经消失了吗?
背景较长的故事:
和这个相关联的: 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自动化)与它交谈。这可能是正确的还是文章的那部分完全错误呢?!
答案 0 :(得分:1)
如果您正在使用JavaScript(node.js)后端,那么您将看到跨域资源共享(cors)域列表。在.NET后端,尚未提供支持,但您应该可以按照instructions to enable CORS for Web API添加它(毕竟,.NET后端是在该平台之上构建的)。
由于您正在本地主机上访问您的服务,我假设您正在使用.NET后端,这就是您无法在其中看到CORS域名列表的原因。门户。集成支持应该很快就会出现,但在此之前,您可以手动添加支持,如上面链接的文档中所述。