-1
我不能在ajax调用后获得返回的值。我可以看到值正在返回,但是当我执行console.log()时,它显示未定义。我的方法有什么问题吗?Ajax调用jquery后为什么返回不工作?
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) }
}
在这里返回'undefined'的'console.log'在哪里? – christian314159
请设置Async ='false'并检查它。 –
@JayeshGoyani这不是一个很好的答案。使用'async = false'是不好的编程练习 – jasonscript