I've got a system whereby I want to load some data coming from a php script, then load another js conditionally based on the data returned in part 1. however, I'm having an issue with order of operations. Here's the code:

$.ajax("functions/get_survey_table.php", {
	asnyc: false,
	data: survey,
	dataType: 'JSON',
	success: function(data, success) {
		survey_table = data;
		console.log("success loading survey_table");
	error: function(data, success) { console.log("error getting get_survey_table.php", data); }

	url: survey_table.survey_type + ".js",
	datatype: 'script',
	async: false,
	error: function(data, success) { console.log("error loading " + survey_type + ".js"); },
	success: function(data, success) { console.log("success loading " + survey_type + ".js"); }
For whatever reason, it seems the second AJAX call is reaching success before the first. Here's the console.log():

success loading parking_occupancy.js
success loading survey_table
However, my understanding was that by setting asnyc to false, that should prevent that.

I'm aware of: "As of jQuery 1.8, the use of async: false with jqXHR ($.Deferred) is deprecated; you must use the success/error/complete callback options instead of the corresponding methods of the jqXHR object such as jqXHR.done() or the deprecated jqXHR.success()." - but note that I *am* using the success/error/complete callback handlers, but still not getting asynchronous results.

So I guess I have two questions:

1 - should I be using a different method to load the external (but local) data/js that is traditionally synchronous?

2 - if not, how can I control the order of operations so that I know that they will execute (and finish) in order?