Q:

Angular Js: Uncaught Error: [$injector:modulerr]

Whenever I am trying to include $http dependency in my js, I am getting an error related to $injector:modulerr.My code looks like this:
angularEx.html
<!DOCTYPE html>
<html ng-app="Fin">
  <head>
    <link rel="stylesheet" type="text/css" href="scripts/bootstrap.min.css" />
    <script type="text/javascript" src="scripts/angular.min.js"></script>
    <script src="bower_components/angular-route/angular-route.js"></script>
    <script src="bower_components/angular-resource/angular-resource.js"></script>
    <script type="text/javascript" src="scripts/app.js"></script> 
  </head>
  <body>

   <div ng-controller="PhoneController as phone">
   {{phone.products.subject}}
   </div>
</body>
  </html>

app.js
var app=angular.module('Fin',[]);

app.controller('PhoneController',['$http',function('$http'){

    var store=this;

    $http.get('/dell-streak-7.json').success(function(data){
        store.products=data;
    });
 }]);

dell-streak-7.json file
{
    "subject": "Front Facing 1.3MP Camera", 

}

Output Window:

A:

You declared argument in quotes, so it should be:
['$http',function($http){}]

instead:
['$http',function('$http'){

A:

Your controller definition is syntactically wrong:
app.controller('PhoneController', ['$http', function('$http') {

Please note that you have a string literal ($http) as function parameter. That's actually the cause of the first error message that says "Uncaught SyntaxError: Unexpected String"
The following should be correct:
app.controller('PhoneController', ['$http', function($http) {

The other error ("$injector:modulerr") is probably just a consequential error of the syntax error.

