使用jQuery从Azure Blob存储中查询JSON数据

vto*_*ola 3 jquery json jsonp azure azure-storage-blobs

我在Azure blob存储中有一些数据.数据是JSON,并且已使用"application/json"内容类型保存.

我的应用程序将托管在"myapp.com",这是一个包含CNAME到"myapp.cloudapp.net"的域名.我想我应该创建一个像"storage.myapp.com"这样的自定义域名,这个域名可以放到我的Azure存储中.

但是之后?我可以使用JSONP或其他方式对Azure存储进行JSON ajax调用吗?

怎么会有更好的方法呢?

非常感谢.

vto*_*ola 8

好吧,显然Azure blob存储不能直接支持JSONP,但它可以完成.

例如,如果我将此JSON存储在Azure blob中:

{"Name":"Valeriano","Surname":"Tortola"}
Run Code Online (Sandbox Code Playgroud)

我尝试:

<script type="text/javascript">

    $.getJSON("https://myaccount.blob.core.windows.net/jsonptests/data?jsoncallback=?",
             function (data) {
                 alert(data.Name);
             });
</script>
Run Code Online (Sandbox Code Playgroud)

它不起作用.嗯,实际上浏览器下载数据但没有回拨.因此,考虑到JSONP如何工作,如果我使用回调函数保存此JSON:

dataCallback({"Name":"Valeriano","Surname":"Tortola"})
Run Code Online (Sandbox Code Playgroud)

我这样做:

<script type="text/javascript">

    function dataCallback(data) {
        alert(data.Name);
    }
</script>

<script type="text/javascript" src="https://myaccount.blob.core.windows.net/jsonptests/data"></script>
Run Code Online (Sandbox Code Playgroud)

然后dataCallBack得到执行:)缺点是回调函数名称必须被编码,但它总比没有好.

快乐的日子,但如果有人有更好的方式会很棒.

干杯.