tacamy--blogスマートフォン用の表示で見るtacamy--blogJavaScriptを勉強中の人のブログです。APIを使ってみました。そのとき調べたことの覚え書きです。APIって?ここに、Jxck先生のすばらしい記事があります。jxck.hatenablog.com正直ぜんぜん理解できてないのですが(🙇)、ものすごくざっくりいうと、jQueryのAjax並に簡潔に記述できるPromiseベースの設計で、結果はPromiseで返されるXHRよりも細かな制御ができるみたいな感じなのかなと思いました。APIの理解にはそちらを読んでもらった方がいいかと思います。Safari以外は対応してるみたいです。私の場合はそれでもよかったので使ってないのですが、pollyfilもあるみたいです。github.comGET次のような感じでGETができます。APIではPromiseが返ってくるため、then()で繋げて書いていくことができます。レスポンスは、以下のいずれかの形式で取得できます。'POST'を指定するだけです。});サーバーに値を渡すには、bodyオプションに指定できます。クロスオリジン通信オリジンが異なる(別ドメインの)サーバーと通信したい場合は、次のようにCORSを使います。http://xxx.comこれで、クロスオリジン通信が可能になります。*のAPIの場合は1.の指定だけでできると思います。Cookieを許可Cookieを許可するには、次のように指定します。true独自のリクエストヘッダを追加とあるAPIを利用するときに、独自のリクエストヘッダを追加して通信する必要がありました。その場合、次のように指定できます。実際のリクエストがクライアントからサーバーに送られるサーバー側からAccess-Control-Allow-MethodsとAccess-Control-Allow-Headersで許可されたものしか送れないという仕組みのようです。独自のレスポンスヘッダを読み出すまず最初に、ダメだった方法を。});この場合、セキュアではないヘッダにアクセスしようとしたと見なされてアクセスが許可されなかったようです。以下のヘッダには、問題なくアクセス可能です。Cache-ControlContent-LanguageContent-TypeExpiresLast-ModifiedPragmaそのため、次のようにする必要があるようです。});サーバー側のエラーの処理fetch()では、サーバー側でエラーが起こってもレスポンスはreject()されません。catch()できないわけです。いう場合にreject()されるのかというと、ネットワークエラーの場合のみのようです。そのため、サーバーエラーの処理は、then()の中でresponse.okをチェックする必要があります。});まとめjQuery.ajax()が使えるときはそっちのが安心感あるけど、個人プロジェクトで少し触ってみる程度ならよいのかも?※実際に使ってみたのは1年以上前だし、内容が古いかもしれないです。»プロフィールid:tacamyスーパージャバスハカーになりたい。)月別アーカイブはてなブログをはじめよう!tacamyさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。