title: Undefined is not an object, when calling function inside jQuery's $.post
body: <p>Inside my attemptSearch function, I use jQuery $.post to get some JSON results. I'm getting the error </p>
  
  <blockquote>
    <p>Undefined is not an object</p>
  </blockquote>
  
  <p>on the call </p>
  
  <blockquote>
    <p>this.getSearchResults.bind(this)</p>
  </blockquote>
  
  <p>I have the same set up in another web app and I don't get this error. What am I doing wrong? </p>
  
  <pre><code>var app = {
      init: function() {
          this.cacheDom();
          this.bindEvents();
      },
      cacheDom: function() {
          this.$search = $('#search');
      },
      bindEvents: function() {
          this.$search.keyup(this.attemptSearch)
      },
      searchResults : [],
      getSearchResults : function(val){       
          var currentSearchResult = val.query.search;
          for (var i = 0; i &lt; currentSearchResult.length; i++) {
              var result = {
                  title: currentSearchResult[i].title,
              }
              console.log(this.searchResults);
              this.searchResults.push(result);
          }
      },
      attemptSearch: function(event) {
          var wiki = "https://crossorigin.me/https://en.wikipedia.org/w/api.php?action=query&amp;list=search&amp;format=json&amp;srsearch=";
          if (event.keyCode == 13) {
              $.post((wiki + $('#search').val()), this.getSearchResults.bind(this))
          }
      }, 
  };
  
  app.init();
  </code></pre>