WebAPIの実装方法
こんにちは
Windows Server側でASP.Netで簡単なWebAPIを実装し、クライアント側(Cordova)でJavaScriptを使用してリクエストを投げようとしています。
WebAPIの実装はでき、ブラウザからhttp://IPアドレス/api/HealthValuesを実行すると正常に実行でき、結果が返ってきますが、Cordova内のJavaScriptから実行すると以下のようにエラーとなってしまいます。
XMLHttpRequest cannot load http://IPアドレス/api/HealthValues. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost:8100' is therefore not allowed access.
いろいろ調べてみましたが、クロスドメインとなりブラウザのセキュリティ的に問題のある実装というような内容ばかりで、どのように解決するのが良いのかわかりません。
やりたいことはTwitterAPIのようにAPIを叩くとJSONでデータが返ってくるようなものをクライアントサイドから使いたいです。
手探りで作成しているため実装方法自体が間違っているかどうかの判断ができていません。
どなたか経験ある方にアドバイスいただければと思います。
参考までにクライアントサイドのコードを記載します。
return $http.get('http://IPアドレス/api/HealthValues', {params: params}).then(function(response) {
return response.data;
});
環境を追記します。
・Cordovaバージョン: 6.0.0
・対象とするplatform: 現在はbrowserで検証していました。最終的にはios, androidになります。
・実行環境: クライアント:Mac OS X ElCapitan、サーバー:AWS EC2