Returning TRUE/FALSE from $.post call
Hi,
Due to its asynchronous nature, the $.post(...) response comes later, hence I'm unable to return true/false based on Response value.
- function updateValue(loadURL, inputValue, recordID, messageDiv) {
- $(messageDiv).slideUp();
-
- var ajax_load = "<img src='images/load.gif' alt='loading...' />";
- $(messageDiv).html(ajax_load);
- var truefalse = "";
-
- $.post(
- loadURL,
- {type: "update", id: recordID, val: inputValue},
- function(responseText){
-
- if (responseText.indexOf('exists') > -1) {
- $(messageDiv).html("<div class='error'>'" + inputValue + "' already exists!</div>");
- $(messageDiv).slideDown();
-
- setTimeout(function() {$(messageDiv).slideUp();}, 3000);
- setTimeout(function() {$('#' + recordID).html(originalVal)}, 2000);
- truefalse = "false";
- } else if (responseText.indexOf('invalid') > -1) {
- $(messageDiv).html("<div class='error'>Invalid Value!</div>");
- $(messageDiv).slideDown();
- setTimeout(function() {$(messageDiv).slideUp();}, 3000);
- } else {
- setTimeout(function() {$(messageDiv).slideUp();}, 2000);
- $(messageDiv).html("");
- }
- },
- "html"
- );
-
- // HERE: the variable it still empty here. How can I return true/false based on $.post() response.
- if (truefalse == "false") {
- return false;
- }
-
-
- }