no pre-processing occurs. The data is simply passed on to the success handler
"html": Returns HTML as plain text; included script tags are evaluated when inserted in the DOM.
If you don't want to evaluate the scripts before inserting your response in to the DOM, you should be able to do something like:
The scripts are evaluated in this case when you call
Your claim that Jquery .ajax does not evaluate scripts on return is simply false. The documentation at api.jquery.com/jQuery.ajax explicitly contradicts your claim, and the OP even quoted the relevant section for you. Yes, it's surpising behaviour (at least, I was surprised when I discovered this), but it's trivial to test and confirm that it's true. Just create a .js file that contains console.log('hello world'); and a HTML page which includes jQuery and an inline script that does $.ajax('yourscript.js');. You'll see 'hello world' in the console.
jQuery.ajax does not evaluate scripts on return when requesting HTML. The passage you quoted in the question was in fact a long-standing error in the documentation, fixed as of April 2014. The new docs have this to say (emphasis mine):
parseHTML is the key in that by default it removes script tags. However, be aware that parseHTML is NOT XXS safe and if your source is unknown this is still a security concern.