В браузере javascript патетически нарушен в том, что единственный способ сделать запросы - использовать скриптовые теги и jsonp. Чтобы сделать это полезным, я пытаюсь создать сервер nodejs, который, учитывая имя и адрес обратного вызова, загружает страницу по адресу и накладывает ее на вызов для обратного вызова и служит для результата. Тем не менее, я ничего не знаю о nodejs. Если ответ сервера загружен из тега скрипта, это приведет к фактической загрузке веб-страницы. В настоящее время я пишу запрос как localhost:8000/callback/address
, поэтому тег сценария может быть <script src="localhost:8000/alert/https://www.google.com" type="text/javascript"></script>
. Вот мой код для сервера:Почему этот узел прокси-сервера nodejs висит?
var http = require("http");
var request = require("request");
var server = http.createServer(function(req, res){
req.on("end", function(){
console.log("alive");
var url = req.url;
var i = url.indexOf("/", 1);
request(url.substring(i + 1), function(err, ret, body){
res.writeHead(200);
res.write(url.substring(1, i) + "(\"" + body + "\");");
res.end();
});
});
});
server.listen(8000);
Почему это остается загружаемым в течение очень долгого времени, но на самом деле не загружается? С помощью console.log() кажется, что обратный вызов req.on («end») даже не вызван.
Неужели 'console.log ('alive' 'печатается? –
@bruno_cw no ... – hacatu
Вы можете попробовать поставить журнал выше 'req.on (« end », function() {' и сделать запрос? –