I have a method like this:
var isNameUnique = false;
function ValidateName() {
var url = "/SomeRules/CheckIfNameExists/";
var request = $.ajax({
url: url,
method: "GET",
data: { sName: name},
dataType: "JSON"
});
request.done(function (result) {
if (result.doesNameExists) {
alert("Name Already Exists!");
console.log("Name Already Exists!");
}
else {
isNameUnique = true;
console.log("Name is unique!");
}
});
request.fail(function (jqXHR, textStatus) {
console.log(textStatus);
alert("Request failed.");
});
console.log("Exiting ValidateName()");
}
This is called like so:
function CreateNewUser() {
ValidateName();
console.log(isNameUnique);
if(isNameUnique){
// do stuff
}
}
When I run the application I have these in the console in this order:
- Exiting ValidateName()
- false
- Name is unique!
When it's printing the 3rd console I expect 'isNameUnique' to be set to true. But that's not happening!!! What am I doing wrong?
Thanks in advance.