0

このシード プロジェクトを使用して angular2 + nativescript プロジェクトに取り組んでいますが、このコードを使用して単純な HTTP POST 呼び出しを行うことができません。

return this.http.post(`${AppConfigService.API_PATH}/login`, body, options)
          .map(res => res.json())
          .catch((err: any) => {
            return Observable.throw(err);
          });

このコードは通常の angular2 アプリでは正常に動作しますが、ネイティブ スクリプトでは次のエラーが発生します: Response with status: 200 for URL: null

Github にも問題を記録しました: https://github.com/NativeScript/NativeScript/issues/2536

4

2 に答える 2

-1

NativeScript HTTP モジュールを使用する必要があります。ドキュメントはこちらです。さまざまなモバイル プラットフォームは、通常のブラウザーとは異なる動作をするため、さまざまなプラットフォーム固有の API を管理するには、{N} コア モジュールが必要です。JSON POST は次のようになります。

var result;

http.request({
    url: "https://httpbin.org/post",
    method: "POST",
    headers: { "Content-Type": "application/json" },
    content: JSON.stringify({ MyVariableOne: "ValueOne", MyVariableTwo: "ValueTwo" })
}).then(function (response) {
    // result = response.content.toJSON();
    // console.log(result);
}, function (e) {
    // console.log("Error occurred " + e);
});

使用することを確認する必要がありますvar http = require("http");

于 2016-08-01T22:35:45.077 に答える