我可以使用Javascript调用Azure管理REST API吗

Can I use Javascript call the Azure management REST API?

本文关键字:管理 REST API Azure 调用 可以使 Javascript 我可以      更新时间:2023-09-26

我想在javaScript中使用Azure表存储RESTapi。所以我打这样的电话:

 $.ajax({
        type: "POST",
        beforeSend: function (request)
        {
            request.setRequestHeader("contentType", "application/atom+xml;type=entry;charset=utf-8");
        },
        url: "http://mystorageaccountname.table.core.windows.net/TodoList()?sv=2012-02-12&se=2013-07-05T09%3A40%3A06Z&tn=Todo&sp=raud&spk=myid&epk=myid&sig=Z%2BrfC2HxxxBUqM3nt6sCjlSvttb6qqOY%2BBnbdPYV%2BzliA%3D&timeout=90",
        contentType: "application/atom+xml",
        dataType: "jsonp",
        jsonpCallback:"jsonpCallback",
        data: xmlString,
        success: function (xhr) {
            alert(xhr.statusCode);
        }   
    });

我发现请求类型转换为get,因为jsonp不支持post。。然后我发现了这个线程:

如何使用javascript从浏览器将文本字符串直接上载到Windows Azure Blob从客户端javascript/jquery 访问Windows Azure队列

似乎如果我用同一个域托管webrole和表存储服务,我就可以使用datatype=xml的代码。

我该怎么做?做akakin.appcloudapp.netakakin.table.core.windows.net是同一个域吗?或者如何使用JS/JQuery直接调用Azure management Rest API?

由于Windows Azure不支持CORS,因此当前无法使用JavaScript直接调用Azure Management API。即将在Windows Azure存储中支持CORS。除了CORS,Windows Azure表存储还将支持以JSON格式返回数据。一旦这两件事做好了,你就应该能够做到这一点。

目前,您需要依赖某种中间层(作为Windows Azure云服务或Windows Azure网站),通过JavaScript应用程序向其发送请求,然后该中间层将与存储交互以获取数据。由于Windows Azure表存储仅以XML格式返回数据,因此您需要将该数据转换为JSONP格式并返回到客户端。