Oone reason that Ajax request may be "slow" is because you're retrieving the Plant object and then on Json serializing, the whole object graph ex: Plant -> LinkToPlant are also serialized. So you should specify what should be serialized ex:
var obj =
{
ID = plant.ID,
Name = plant.Name
OtherField = plant.LinkToPlant.SomeField
};
string plantJson = JsonConvert.SerializeObject(obj);
About the Ajax code, replace "failure" (doesn't seem valid or at least I never heard of it) with "error":
$.ajax({
failure: function (r) {
alert(r.d);
}
});
to
$.ajax({
error: function (r) {
alert(r.d);
}
});