AngularJSには$http
と言う名前のHttpClientが入っています。
どうせjQuery.ajax
のラッパーだろうと思って、次の感じでjQuery.ajax
に置き換えました。
取ってきた値が上手く反映出来ませんでした。
jQuery.ajax({ type: "get", url: "/books/100", dataType: "json", success: (data) => $scope.data = data })
次のような感じで、$scopeへの反映をAngularJSに伝えるために、$apply()
でくくって上げれば反映されました。
jQuery.ajax({ type: "get", url: "/books/100", dataType: "json", success: (data) => $scope.$apply(() => $scope.data = data) })
言われて見ればそういうのがあったような記憶があります。
あとjQuery.ajax
はデフォルトではapplication/x-www-form-urlencoded
で通信するので必要に応じて、contentType: "application/json”
とかdataType: "json"
とかつける必要があるようです。jQueryのバージョンに依存するかもしれません。
意外とかゆいところに手が届く便利な奴ですね、$http
。