2017-02-21 7 views
1

aurelia Http Clientに問題があります。 My api(http // localhost:3000/api/posts)がうまくいきます。 (郵便配達中またはブラウザでの)get呼び出しの出力は、次のとおりです。あなたが画像で見ることができるようにaurelia-http-clientが間違ったアドレスに接続する

getPosts(){ 
return client.get('http//localhost:3000/api/posts','callback') 
    .then(data => { 
    console.log(data); 
    return data.response; 
    }) 
} 

And this is the output:

[ 
    { 
    "_id": "58a5f4f635c3ab643c74d97a", 
    "text": "Foo", 
    "name": "Fooo", 
    "__v": 0 
    }, 
    { 
    "_id": "58a5fcc32586d0683455f78d", 
    "text": "Bar", 
    "name": "Baar", 
    "__v": 0 
    } 
] 

これはアウレリアアプリで私のget呼び出しであります応答には "Aurelia"が含まれていますが、私のapiは決してaureliaに触れなかったので、URLに何か問題があると思います。

アップデート1:GManProgramによって提案された

修正(行方不明:)が問題でした。

アップデート2:

GManProgramが示唆したように、私はアウレリアフェッチ・クライアントにクライアントに変更されました。 Here is the new output 私はAPIのアドレスを自分のアドレスの後ろに置いているようです。ホーは強制的にそれを強制的にAPIのアドレスを使用することはできますか?

+0

申し訳ありませんが、私はあなたの編集を見たことがない、それはあまりにも遅くはないかもしれません。すべてのリソースが異なるエンドポイントを持つ同じ場所にある場合(たとえば、localhost:3000に投稿とコメントルートの両方がある場合)、フェッチクライアントは良好です。 フェッチクライアントを設定して、baseUrlを目的の場所に設定できます。通常、私はmain.jsで設定を行い、 のように見えます。httpClient.configure(config => {config.withBaseUrl(http:localhost:300/api/');}); ' ウェブコールは 'httpClient.fetch( 'posts')' – GManProgram

+0

と同じように簡単です。同様に、aurelia-http-client(aurelia-fetch-clientに似ています)は同様に設定できます – GManProgram

答えて

2

最初に投稿した例では、最初にURLにhttpの後に:という文字がありません。

それはそれを修正しないと、あなたはaurelia-fetch-clientからHttpClientを使用している場合は、あなたがあなたのケースでは代わりに.getメソッド

http://aurelia.io/hub.html#/doc/api/aurelia/fetch-client/1.1.0/class/HttpClient

の.fetch方法を使用して試してみたいことあなたはまた、オーレリア・フェッチ・クライアントからjson方法をインポートすることができますどこ

:あなたはJSONを期待しているように見えることから、フェッチ、典型的な呼び出しは次のようになります。

それ以外の場合は、HttpClientが既にアプリケーションにベースURLで設定されている可能性があります。

1

何について:

return client.get('posts','callback') 
関連する問題