0
即时尝试从ajax函数获取数据到我的实际应用程序,但我似乎无法通过函数以外的数据,我阅读其他问题,并尝试他们的建议,但它似乎并没有工作因为它不是等待阿贾克斯试图返回数据之前完成加载, IM试图返回UID,这样我可以这样做返回嵌套在ajax回调中的数据
user = getUserID('test');
,而不是
getUserID('user', function(id){ console.log(id); });
因为我分配将数据返回给var iable
getUserID = function(user, cb) {
var uid;
$.ajax({
type: "GET",
url: "/user_comment.php",
data: {
user: user
},
success: function(result) {
if (result) {
uid = /name="recipient_id" value="(.*)"/g.exec(result)[1];
console.log('1 ' + uid);
if(cb) {
try {
cb(null, uid);
} catch(e) { cb(e); }
}
} else {
console.log("ERROR!! - No data returned !")
}
}
});
console.log('2 ' + uid);
return uid;
},
所有它现在是
2 undefined
1 5511194
2 undefined
1 1462473
2 undefined
1 5469682
所以没有设置变量
一旦你确定这一点,你应该阅读有关承诺:https://developer.mozilla.org/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise – jackstrapp
是否无法将变量设置为返回ajax调用?所以来自ajax调用的信息是不可用的,除非我将它分配给页面上的元素? – Brofessional
修改数组中的元素:array.forEach(function(item){item.prop =“toto”;}); 对于你所问的关于Ajax的问题,我真的建议你阅读它的工作原理。并玩你的代码。尝试在ajax调用之前,在ajax调用之后并在回调之内放置断点。因为你好像不理解这个概念。但我可能是错的。 – jackstrapp