Das heißt, dass das eval in diesem Fall nicht nur überflüssig, sondern sogar falsch ist.
Das wissen wir nicht. Matze hat (wenn ich das richtig sehe) nirgends geschrieben, was für Daten er überträgt und wie er sie weiterverarbeiten will.
Es kommt ganz darauf an, was in responseText drinsteht. Wenn es etwa einen JSON-String oder sonstwie als JavaScript interpretierbare komplexe Daten enthält, dann ist eval() durchaus eine Möglichkeit, daraus ein JavaScript-Objekt zu machen. Das native JSON.parse bzw. ein JSON-Parser in JavaScript sind da natürlich zuverlässiger und sicherer.
var jsonString = '{"prop" : "val"}';
var object = eval('(' + jsonString + ')');
alert(object.prop);
bzw.
var jsonString = '{"prop" : "val"}';
var object = JSON.parse(jsonString);
alert(object.prop);
Mathias