2016-12-26 10 views
1

私は、aurelia-http-clientと同じ起点ではないapiを照会しようとしています。aurelia aurelia-http-client 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); 
      }); 

    } 

} 

、私はURLが呼ばれたネットワーク内で見ることができ、私のAPIエンジンはエントリをログに記録しますが、私は「それから」「約束」の中に入ることはありません...

何が問題なのですか。

更新:

は、私は、同じマシン上の問題なしjQueryを使ってキャッチ

code source browser result

であなたにいくつかのスクリーンショットを与えます。

+0

あなたはコードがうまくいくように見える... 'jsonp'の特定の理由は?それは 'get'と連動しますか? –

+0

こんにちはfabio、はい私はページが値するために:9000と私のAPIは:8081です。プロダクションでは、2つの異なるマシンです。私はJQueryを使ってみましたが、jsonpのデータを取得するのに問題はありませんでした。私は別のライブラリで試してみるのに2時間かかりますが、タイプコピーでは少し複雑です...まず、aureliaで試してみてください.2時間後に私のページを完成させたので、最後に試してみてくださいね... –

+0

。その文の最後にcatch(()=>)を設定して、約束によって生成されたエラーがないかどうかを確認します –

答えて

3

この投稿を読んだ後、other jsonp case私は仕事「コールバック」を追加しようとしましたが、今は動作します!

ので

client.jsonp(url, 'callback') 

おかげで...

0

これは直接の回答が、ただの提案ではないかもしれない(URL、「コールバック」)JSONP呼び出して、私はむしろ私としてオーレリアの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