[英]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.