/ / Чому повернення не працює після виклику Ajax jquery? [дублікат] - javascript, jquery, ajax

Чому повертається не робота після Ajax виклику jquery? [дублікат] - javascript, jquery, ajax

Я не в змозі отримати повернене значення після виклику Ajax. Я бачу, що значення повертаються, але коли я консоль.log (), він показує невизначені. Чи є щось не так у моєму підході.

var base_path = "http://localhost/lab/theapp/api/";

$(function() {
var url = base_path + "tasks";
var type = "post";
var data = "";
var get = submit_me(type,data,url);
console.log(get);
});


function submit_me(type,data,url) {
try {
$.ajax({
url: url,
type: type,
data: data,
dataType: "json",
beforeSend: function (request) {
request.setRequestHeader("X-CSRF-Token", $.cookie("token"));
},
error: function(XMLHttpRequest, textStatus, errorThrown) {
//alert("page_login_submit - failed to login");
console.log(JSON.stringify(XMLHttpRequest));
console.log(JSON.stringify(textStatus));
console.log(JSON.stringify(errorThrown));
},
success: function (r) {
if (r.sessid){
var sessid = r.sessid;
var session_name = r.session_name;
var token = r.token;
jQuery.cookie("token", token);
return r;
}
}
});
}
catch (error) { console.log(error) }
}

Відповіді:

-1 для відповіді № 1

Ваш виклик Ajax займе певний час, щоб відновити йогощо значення. Ви не можете передати значення безпосередньо змінної. Напишіть код у функції успіху ajax. тобто console.log () у функції запиту ajax. Це призвело б до затримки, викликаної викликом Ajax. Спробуйте це посилання https://api.jquery.com/jQuery.ajax/#jQuery-ajax-settings Перевірте тут атрибут async та експериментуйте.