0
メソッドは許可されていませんが、私はAngular2の取得値が、私は再び同様のイライラ質問をして申し訳ありません
fetchBattingAverage() {
let str = JSON.stringify({"foo": "bar"});
let headers = new Headers({ 'Content-Type': 'application/json' });
let options = new RequestOptions({ headers: headers });
// JSON.stringify({ "abc": "def" })
return this._http.post(
this.baseURL + 'getBatting',
str,
options
)
.map(res => res.json());
}
のWeb API 2からのWeb API 2へのHTTP POSTリクエストを設定することはできませんよ与えます:Web構成
<httpProtocol>
<customHeaders>
<add name="Access-Control-Allow-Origin" value="*" />
<add name="Access-Control-Allow-Headers" value="*" />
<add name="Access-Control-Allow-Methods" value="*" />
</customHeaders>
</httpProtocol>
Web APIを2.2コントローラ:
[RoutePrefix("api")]
public class SachinController : ApiController
{
[HttpPost]
[Route("getBatting")]
[EnableCors(origins: "*", headers: "*", methods: "*")]
public IHttpActionResult Post([FromBody] string countries)
{
// Do something
return Ok()
}
エラーメッセージ:
のOPTIONS http://localhost:54094/api/getBatting 405 (Method Not Allowed)
Response for preflight has invalid HTTP status code 405
リクエストヘッダ:
OPTIONS /api/getBatting HTTP/1.1
Host: localhost:54094
Connection: keep-alive
Pragma: no-cache
Cache-Control: no-cache
Access-Control-Request-Method: POST
Origin: http://localhost:4200
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87 Safari/537.36
Access-Control-Request-Headers: content-type
Accept: */*
DNT: 1
Referer: http://localhost:4200/
Accept-Encoding: gzip, deflate, sdch, br
Accept-Language: en-US,en;q=0.8
カスタムヘッダーを削除https://stackoverflow.com/questions/20079813/how-to-make-cors-authentication-in-webapi-2/25758949#25758949 – sideshowbarker
を見てみましょメッセージにつながります: "要求パスのアクセス制御チェックを要求する:いいえ 'Access-Control-Allow-Origin'ヘッダーが要求されたリソースに存在する場合は、リンクに感謝します。 –
したがって、要求のカスタムヘッダーを削除すると、 OPTIONSリクエストを送信しても、「要求されたリソースにAccess Control-Allow-Originのヘッダーが存在しない」というメッセージが表示される場合は、サーバの設定が明らかに期待どおりに機能していないため、その回答の手順をhttps://stackoverflow.com/questions/20079813/how-to-make-cors-authentication-in-webapi-2/25758949#25で試してください。 758949 – sideshowbarker