У меня одна из тех неприятных проблем с областью действия переменной с $ .post.Перед отправкой формы я хочу сначала проверить, редактировал ли пользователь содержимое.Я возвращаю false, если у пользователя нет.
Я рассмотрел несколько различных примеров Stackoverflow, и общий способ сделать это - создать функцию и функцию обратного вызова внутри этой функции для обработкиПерезвоните.Моя проблема в том, что когда я вызываю getReturned ниже, обратный вызов не реализуется (знаю это, потому что форма отправляется, и я попробовал предупреждение).Кстати, alert("No changes were made so text was not submitted.");
успешно вызывается.
Что я делаю не так?
function getReturn(callback, id, old_variable){
var return_value = "ERROR";
$.post('myURL', {"id" : id},
function(data) {
var text_from_server = $.trim(data[0].note_text);
if (old_variable == text_from_server){
alert("No changes were made so text was not submitted.");
return_value = false;
callback(return_value);
} else {
return_value = true;
callback(return_value);
}
},
"json"
);
};
var id = 123;
var old_variable = "foo";
getReturn(
function(return_value){return return_value;/*alert("SUCCESS!");*/},
id,
old_variable
);