+1  A: 

I believe the problem is that you're not returning anything in the JsonResult. Try

return this.Json(string.empty);

and see if that works. I think that the problem is that you're returning nothing to the jQuery call rather than an empty JSON set.

{}

48klocs
JsonResult accepts no arguments. I changed the return to a null but that did not affect the outcome.
Sailing Judo
@Sailing Judo - I boned that one and fixed the code example. Controller exposes a Json() method that accepts an object and returns a JsonResult object.
48klocs
this was the problem! i would have never expected this in a million years. nice solve.
Sailing Judo
+2  A: 

Returning an empty result may also be useful

return new EmptyResult();
Lavinski