【发布时间】:2014-09-05 21:24:38
【问题描述】:
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 数据库(以及其中的 1 个简单表)的 azure 移动服务。
然后我尝试使用 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?$filter=(完成%20eq%20false)。 请求中不存在“Access-Control-Allow-Origin”标头 资源。因此,不允许使用 Origin 'localhost:8000' 访问。”
我猜这是因为虽然 localhost 在服务器端 CORS 设置中是允许的,但 localhost:8000 是不允许的。
麻烦的是,上面两篇文章都提到了去https://manage.windowsazure.com/移动服务设置的“配置”部分来添加其他URL到CORS。它似乎已经不存在了——知道它去哪儿了吗?
我寻找的所有其他文章都谈到在您的配置文件等中设置它,但重点是我不想将代码推送到服务器端。第一篇文章绝对暗示我可以只创建服务和 sql server 表,然后从 javascript 客户端与其对话(可能通过使用 OData 自动进行)。这可能是对的,或者文章的那部分完全错误也是?!
【问题讨论】:
标签: javascript azure azure-mobile-services