アプリのweb viiewから、ajaxでクロスドメインのAPIを実行しようとして とても大変な思いをしたので備忘録。 概要 APIサーバーから、アプリのWebViewで表示するHTML(文字列)を取得する HTMLの中で別サーバーのJSを読み込む。 JSからXMLHttpRequestでAPIを実行する。 APIはGETとPOSTの2種類。 APIサーバーはPerlで、WAFにAmon2を使用。 GETが失敗する件 ログを見ると、OPTIONSリクエストに403を返していた。 What is OPTIONSリクエスト? プリフライトリクエストという。 リクエストを送信しても安全か?サーバーがリクエストに対応しているか? ということを調べるために、ブラウザが特定の条件を満たす場合に飛ばす。 特定の条件 以下、HTTP access control (CORS) | MDNより引用。 GET