它應該是一個容易的但我卡住了。 我想返回一個函數的結果作爲一個全局變量。在這裏我有我的函數clearbit(),爲此我創建了全局變量clearbit_role。http請求函數無法獲得全局變量
但是我不能在函數之外提醒這個變量......任何線索都可以嗎? 謝謝!
編輯:這裏增加了一個小提琴: http://jsfiddle.net/luron01/sJ8Eu/9/
var clearbit_role ;
function clearbit (web){
var url = "https://prospector.clearbit.com/v1/people/search?domain=clearbit.com&seniorities[]=executive&seniorities[]=manager&limit=1";
var request = new XMLHttpRequest();
request.onreadystatechange = function() {
if (request.readyState === 4 && request.status == 200) {
var response = JSON.parse(request.responseText.replace('[','').replace(']',''));
var clearbit_fullname = response.name.fullName;
clearbit_role = response.role;
clearbit_role='test'
}
}
request.open('GET', url, true);
request.setRequestHeader("authorization", "Bearer sk_605e7e64cbb1ebcca9e28b8a97d23f22")
request.send();
}
clearbit()
alert(clearbit_role)
謝謝!
這是* *異步所以'警報(clearbit_role)'調用執行完畢之前。在'onreadystatechange'上做你的工作 –
在clearbit_role = response.role後添加console.log(response.role);查看response.role是否未定義 –
確實在onreadystatechange中有效,但我需要將clearbit_role返回到另一個函數。 – Ludo