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