簡體   English   中英

JSON響應作為文件在Ajax調用中返回

[英]JSON response returned as file in ajax call

我使用以下代碼段調用Vimeo的REST API服務,通過200 OK調用將數據顯示為null。

    $.ajax({
        url:'http://vimeo.com/api/rest/v2?format=json&method=vimeo.videos.getInfo&video_id=7100569',
        dataType:'json',
        success:function(data){
            alert(data);
        }
    });

當我在瀏覽器中復制粘貼URL (http://vimeo.com/api/rest/v2?format=json&method=vimeo.videos.getInfo&video_id=7100569)時,它給了我一個要下載的文件。 我檢查了有效的示例javascript示例

var url='http://vimeo.com/api/rest/v2?format=json&method=vimeo.videos.getInfo&video_id=7100569';
        var js = document.createElement('script');
        js.setAttribute('type', 'text/javascript');
        js.setAttribute('src', url);
        document.getElementsByTagName('head').item(0).appendChild(js);

我只是想知道我在這里做錯了什么。 請注意,第二個片段給出了有效的JSON錯誤,而不是null響應。

數據是JSON,而不是JSON-P。 它不是JSON-P,所以您不能將其用作JavaScript。

嘗試使用此處描述的方法。

經過幾次查看(然后發布然后刪除我的評論),這是我想到的:

您得到“文件”的事實僅僅是瀏覽器如何處理結果的功能。 當IE嘗試將結果保存到文件時,Chrome可以很好地顯示結果。

您遇到了一個問題,因為您無法向與該頁面所源自的域不同的域發出AJAX請求。 這就是David Dorward的意思。 他們提供的示例是jsonp(與json不同)。 本質上,您應該能夠將ajax調用中的dataType更改為“ jsonp”,並希望它將開始為您工作。

HTH

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM