changed 6 years ago
Published Linked with GitHub

APIが飛ばないんですけど

問題と回答

Webアプリケーションからドメインが異なるAPIにリクエストを発行する際には、クロスオリジンについて注意する必要があります。
CORS (Cross-Origin Resource Sharing) に関する以下の問いについて、それぞれ適切な選択肢を選んでください。

問1

https://exmaple.com と同じOriginを選んで下さい。

問2

app.ictsc で動いているアプリケーションから api.ictsc へ以下のような fetch() を実行したところ、CORSのエラーで正常に動きませんでした。 api.ictsc に設定する必要があるHTTP response headerをすべて選んでください。

fetch({ method: "POST", headers: { "Content-Type": "application/json" }, "body": JSON.stringify(data) })

実際に鯖を立てて検証した

<!DOCTYPE html> <html lang="ja"> <head> <meta charset="UTF-8"> <title></title> <script> fetch('http://localhost:3000', { method: "POST", headers: { "Content-Type": "application/json" } }) </script> </head> <body> </body> </html>
package main import ( "fmt" "net/http" ) func handler(w http.ResponseWriter, r *http.Request) { w.Header().Set("Access-Control-Allow-Origin", "*") w.Header().Set("Access-Control-Allow-Headers", "*") w.Header().Set("Content-Type", "application/json") fmt.Fprintf(w, "{}") } func main() { http.HandleFunc("/", handler) // ハンドラを登録してウェブページを表示させる http.ListenAndServe(":3000", nil) }

全部じゃね?
Origin,Methods

Origin, Headers

Content-Typeはデフォルトで許可されている
ソース https://developer.mozilla.org/ja/docs/Web/HTTP/Headers/Access-Control-Allow-Headers

問3

選択肢に示すHTTPメソッドのうち、いかなる場合においてもpreflight requestが行われるものを選んでください。

  • DELETE

問4

preflight requestについて示した文章のうち、正しいものを全て選んでください。

考察

3つ目

Select a repo