javascript
  • api
  • jsonp
  • aurelia
  • aurelia-http-client
  • 2016-12-26 90 views 1 likes 
    1

    我嘗試查詢的API是不一樣的原點與奧裏利亞-HTTP客戶端。奧裏利亞奧裏利亞-HTTP客戶端JSONP

    我的代碼很簡單:

    import {HttpClient} from 'aurelia-http-client'; 
    
    export class App { 
    
        constructor(){ 
    
        console.log("constructor called"); 
    
         let url = 'http://localhost:8081/all'; 
    
         let client = new HttpClient(); 
    
         client 
          .jsonp(url) 
          .then(data => { 
           console.log("datas"); 
           console.log(data); 
          }); 
    
        } 
    
    } 
    

    什麼也沒有發生,我可以在網絡調用該網址看到,我的API引擎記錄一個條目,但我從來沒有在「然後」進入「無極」的...

    有什麼不對?

    更新:

    我給你在同一臺機器沒有問題就抓

    code source browser result

    用jQuery一些截圖。

    +0

    你的代碼似乎很好...'jsonp'的任何特定原因?它是否與'get'一起工作? –

    +0

    嗨法比奧,是我因爲頁面是值得:9000和我的API是:8081。在生產中,它是兩種不同的機器。我嘗試使用JQuery並且沒有問題來獲取jsonp數據。我浪費了2個小時來嘗試不同的圖書館,但它與打字稿一起工作有點複雜...首先嚐試使用aurelia,我想最後一次嘗試,因爲在2個小時內我會完成我的頁面... –

    +0

    您可能會添加一個。趕上(()=>),以該語句的末尾,以查看是否存在由許產生的任何錯誤 –

    回答

    3

    閱讀這篇文章後other jsonp case我嘗試添加工作「回調」,現在它的作品!

    這麼叫JSONP(URL,「回調」)

    client.jsonp(url, 'callback') 
    

    謝謝...

    0

    這可能不是一個直接的答案,但只是一個建議,我寧願用奧裏利亞API爲我發現它更加一致和穩定。

    只需添加它作爲插件在你主:

    .plugin('aurelia-api', config => { 
         config.registerEndpoint('github', 'https://api.github.com/'); 
        }); 
    

    ,並用它作爲: 進口{端點}從 '奧裏利亞-API':

    @autoinject 
    export class Users{ 
        constructor(private githubEndpoint){ 
        } 
    
        activate() { 
        return this.githubEndpoint.find('users') 
         .then(users => this.users = users); 
        } 
    } 
    

    來源:https://aurelia-api.spoonx.org/Quick%20start.html

    相關問題