簡體   English   中英

如何使用jsonp請求獲取json

[英]How to get json using a jsonp request

我正在嘗試使用instagrams api,而無需進行身份驗證。 如果我去: https : //www.instagram.com/explore/tags/chicago/?__a=1

我收到一個json響應。 我正在嘗試構建一個返回該數據的angular 4提供程序。

getInsta(term){
    return this.jsonp.request(this.url+term+'/?__a=1&callback=__ng_jsonp__.__req0.finished')
      .map(res => {
        console.log(res.json());
      });
  }

我已經嘗試過“回調”和“ c”。 我已經嘗試過JSONP_CALLBACK。

我收到以下錯誤:

“ SyntaxError:意外令牌':'。解析錯誤。-在芝加哥:1”

“注入JSONP的腳本未調用回調”

如果單擊意外的令牌錯誤,它將帶我所有的json數據進入響應。 因此,這意味着它正在通過,我無法訪問它!

知道我如何解決這個問題嗎?

這是錯誤以及在點擊錯誤時的屏幕截圖 在此處輸入圖片說明

在此處輸入圖片說明

JSONP是一種獲取跨源數據的方法,它之所以起作用,是因為當文件的src包含callback函數名稱時,它會向主體中注入script標記。

<script src="http://ani.site.com/api/?callback=myGlobalFunc">

並且假定窗口上有一個名為myGlobalFunc的全局函數。

該調用的響應將類似於: myGlobalFunc({data: 'data1'}) 使用一個參數即數據來調用該函數。

在您的情況下,Instagram API返回JSON而不是JSONP

在那里,您不能使用該機制。

暫無
暫無

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

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