質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
HttpWebRequest

HttpWebRequestとは.NETにおけるクラスであり、WebRequestクラスをHTTPに導入するものです。

Q&A

解決済

1回答

6902閲覧

angularでpost送信がうまくいかない。

kuniatsu

総合スコア141

HttpWebRequest

HttpWebRequestとは.NETにおけるクラスであり、WebRequestクラスをHTTPに導入するものです。

0グッド

0クリップ

投稿2017/05/03 08:02

編集2017/05/03 08:53

下記のget送信はうまく動くのですが、post送信2つはうまく動きません。
何故動かないかわからないため、もしわかる方いらっしゃまいしたら、よろしくお願いします。

うまく動くget送信

//get送信 this.http.request(new Request({ method: "Get", url: "./tslint.json" })).subscribe((res: Response) => { console.log("success:"+res); },error => { console.log("fail:"+error); });

うまく動かないpost送信①

//post送信 let headers = new Headers({ 'Content-Type': 'application/json' }); let option = new RequestOptions({ headers: headers }); this.http.request(new Request({ method: "Post", url: "./tslint.json" }),option).subscribe((res: Response) => { console.log("success:"+res); },error => { console.log("fail:"+error); });

うまく動かないpost送信②

//post送信 let headers = new Headers({ 'Content-Type': 'application/json' }); let options = new RequestOptions({ headers: headers }); let trans_data = JSON.stringify(this.dateData); this.http.post("./tslint.json", trans_data, options) .subscribe( res => { console.log("success:"+res.text()); console.log(res.status); }, error => { console.log("fail:"+error.text()); console.log(error.status);//404エラー } );

post送信②のコンストラクター

constructor( private http: Http, public router: Router ) { this.dateData = { startDate:"2017-01-01", endDate:"2017-12-31" }; } dateData:any;

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

コード自体には問題なさそうですが、
./tslint.jsonのPOSTは設定してあるのでしょうか?

特に設定無しで試したところ、Getの

this.http.get('./index.html')

では問題なくデータが受信できましたが、

this.http.post('./index.html', '')

とPOSTにするとだめでした。
ファイルが有ってもPOSTはデフォルトでは受け付けてくれません。

POST受付を可能にするための方法としては、

  1. ちゃんとAPIサーバーを立てる
  2. Mockする

の2つが良いかと。

投稿2017/05/03 09:07

TakeoAsai

総合スコア880

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

kuniatsu

2017/05/03 09:17

localでは動かなかったのですね。これは盲点でした。Mockを作成する方向で考えてみたいとおもます。ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問