Returning TRUE/FALSE from $.post call

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.


  1. function updateValue(loadURL, inputValue, recordID, messageDiv) {

  2. $(messageDiv).slideUp();
  3. var ajax_load = "<img src='images/load.gif' alt='loading...' />";
  4. $(messageDiv).html(ajax_load);


  5. var truefalse = "";
  6. $.post(
  7. loadURL,
  8. {type: "update", id: recordID, val: inputValue},  
  9. function(responseText){
  10. if (responseText.indexOf('exists') > -1) {
  11. $(messageDiv).html("<div class='error'>'" + inputValue + "' already exists!</div>");
  12. $(messageDiv).slideDown();
  13. setTimeout(function() {$(messageDiv).slideUp();}, 3000);
  14. setTimeout(function() {$('#' + recordID).html(originalVal)}, 2000);
  15. truefalse = "false";
  16. } else if (responseText.indexOf('invalid') > -1) {
  17. $(messageDiv).html("<div class='error'>Invalid Value!</div>");
  18. $(messageDiv).slideDown();
  19. setTimeout(function() {$(messageDiv).slideUp();}, 3000);
  20. } else {
  21. setTimeout(function() {$(messageDiv).slideUp();}, 2000);
  22. $(messageDiv).html("");
  23. }

  24. },  
  25. "html"  
  26. );

  27. // HERE: the variable it still empty here. How can I return true/false based on $.post() response.
  28. if (truefalse == "false") {
  29. return false;
  30. }
  31. }