If I used the ORM (Model read) in my post_load, every return value would have been empty... even when I write echo "test"; But when I remove it or use the DB class instead it all works fine.
No, there is no relation between doing an ajax call and any piece of code.
You're approaching this all wrong. You should not echo out data, you shouldn't in any FuelPHP controller method. You need to return the data so it can be processed by the Response class.
Your controller should extends either Controller_Rest (if it contains only ajax methods) or Controller_Hybrid (if it contains both normal methods and ajax methods).
As the documentation states, your ajax method should create a response, and return it. In this case: return $this->response($output);
Since you have defined the datatype as html, that should work without problems. If not, you can force the format by setting $this->format to "html" before returning the response.