$ not defined - jQuery angular mixing

I used to develop all my projects with jQuery, but recently started with Angular. I created an Angular template with a Yeoman generator and extended my code from it.

I have translated the jQuery code of the post ajax form into the following Angular controller.

'use strict';


angular.module('MyApp')
.controller('ShareformCtrl', function ($scope, $http) {
// create a blank object to hold our form information
// $scope will allow this to pass between controller and view
$scope.formData = {};

// process the form
$scope.processForm = function() {
    $http({
        method : 'POST',
        url : 'php/share_handling.php',
        data : $.param($scope.formData), // pass in data as strings
        headers : { 'Content-Type': 'application/x-www-form-urlencoded' } // set the headers so angular passing info as form data (not request payload)
    })
    .success(function(data) {
        console.log(data);

        if (!data.success) {
            // if not successful, bind errors to error variables
            $scope.errorName = data.errors.name;
            $scope.errorSuperhero = data.errors.superheroAlias;
        } else {
            // if successful, bind success message to message
            $scope.message = data.message;
        }
    });
};
});

      

But jshint won't work on $.param

In my index, I have Angular and jquery implemented like this:

<script src="bower_components/jquery/dist/jquery.js"></script>
<script src="bower_components/angular/angular.js"></script>

      

So Angular should be able to access $

, but it's here or something else isn't happening.

+3


source to share


2 answers


To tell JSHint not to worry about $

creating a .jshintrc in your project root with

{
  "globals": {
     "$": false
  }
}

      



Docs

+6


source


add below comment at the top of the code to bypass jshint validation



/* global $ */

      

+1


source







All Articles