我想通過使用node.js的xmlhttprequest從網頁獲取html。我已經互聯網上找到的代碼是:在函數外部使用變量javascript
var sys = require ('sys'),
url = require('url'),
XMLHttpRequest = require("xmlhttprequest").XMLHttpRequest,
http = require('http'),
qs = require('querystring');
http.createServer(function (req, res) {
var temp
var xhr = new XMLHttpRequest();
xhr.onreadystatechange = function() {
if (xhr.readyState == 4) {
var loc = xhr.responseText.search("Right Now");
temp = xhr.responseText.substr(loc,loc+10);
//console.log(temp);
}
}
xhr.open('GET', 'http://www.weather.com/weather/today/37.229572,-80.413940', true);
xhr.send(null);
console.log(temp);
res.write("pappu\n");
res.end();
}
).listen(80);
我想用xhr.responseText功能之外,但我無法做到這一點。我已經嘗試不使用var使temp成爲全局變量,但是node.js卻給出了這個錯誤。
請幫我 問候
謝謝你傑夫。這對我來說還行,但問題仍然是一樣的,我如何在函數內部寫入它或者在函數外部獲得它的值? 和是的..我死了使用node.js和javascript –
他不建議不使用節點或JavaScript。 – Quentin
更新了將答案移動到新範圍的最簡單方法的答案。由於ajax函數是異步的,你必須在一些函數中處理響應。這是乾淨的,你可以得到它。我寫了一個冗長的函數解釋和異步[這個答案](http://stackoverflow.com/questions/18886089/how-do-i-callback-with-js-function/18886376#18886376)這可能會幫助你瞭解這些東西如何更好地工作:) –