Это невозможно, как вы пытаетесь.
Ajax-вызовы являются асинхронными, они возвращаются всякий раз, когда они готовы. Внутренняя функция, которую вы передали getJSON()
, запускается хорошо после завершения внешней функции test()
.
Это означает, что - что бы вы ни хотели сделать, когда вызов Ajax вернется, - поместите это в функцию обратного вызова. Не работать с флагами и возвращаемыми значениями.
1011 * Е.Г. *
function do something(flag) {
// do something
}
function test() {
if ($('#field1').attr('value') || !$('#field1').attr('value')) {
$.ajaxSetup({
cache: false
});
$.getJSON("test_term.php", {
'term1': $("#cde").attr('value'),
'cd3': $("#cde3").attr('value')
}, function(data) {
if (data[0].stss == 'K') {
var status = data[0].stss;
doSomething(true);
} else if (data[0].stss == 'U' || data[0].stss == '') {
doSomething(false);
}
});
}
}