title: .NET MVC JSON Post Call response does not hit complete or success
body: <p>I am new to .NET MVC so please bear with me.</p>
  
  <p>I wrote a function that gets triggered when there is a blur action on the textarea control:</p>
  
  <pre><code>     function extractURLInfo(url) {
          $.ajax({
              url: "/Popup/Url",
              type: "POST",
              data: { url: url },
              complete: function (data) {
                  alert(data);
              },
              success: function (data) {
                  alert(data);
              },
              async: true
          })
          .done(function (r) {
              $("#url-extracts").html(r);
          });
      }
  
      jQuery(document).ready(function ($) {
          $("#input-post-url").blur(function () {
              extractURLInfo(this.value);
          });
      });
  </code></pre>
  
  <p>This works fine and will hit the controller:</p>
  
  <pre><code>[HttpPost]
          public ActionResult Url(string url)
          {
              UrlCrawler crawler = new UrlCrawler();
              if (crawler.IsValidUrl(url))
              {
                  MasterModel model = new MasterModel();
                  model.NewPostModel = new NewPostModel();
  
                  return PartialView("~/Views/Shared/Partials/_ModalURLPartial.cshtml", model);
              }
              else
              {
                  return Json(new { valid = false, message = "This URL is not valid." }, JsonRequestBehavior.AllowGet);
              }
          }
  </code></pre>
  
  <p>I get the intended results if the URL is valid; it will return a partialview to the .done() function and I just display it in code. However, if the URL is not valid i want it to hit either complete, success, or done (I have been playing around to see which it will hit but no luck!) and do something with the returned data. I had it at some point trigger either complete or success but the data was 'undefined'. Can someone help me out on this?</p>
  
  <p>Thanks!</p>