为什么这个nodejs代理服务器挂起?

时间:2015-11-13 16:22:03

标签: javascript node.js proxy jsonp script-tag

在浏览器中,javascript被打破了,因为发出请求的唯一方法是使用脚本标记和jsonp。为了使这个有用,我尝试创建一个nodejs服务器,给定一个回调名称和地址,将该页面加载到该地址并在调用回调中填充它并提供结果。但是,我对nodejs几乎一无所知。如果从脚本标记加载服务器的响应,则会导致实际加载网页。目前,我将请求写为ng-,因此脚本标记可能为localhost:8000/callback/address。这是我的服务器代码:

<script src="localhost:8000/alert/https://www.google.com" type="text/javascript"></script>

为什么这种情况会持续很长时间但从未实际加载?通过使用console.log(),似乎永远不会调用req.on(&#34; end&#34;)回调。

1 个答案:

答案 0 :(得分:2)

如果您不关心任何请求数据,则可以在添加req.resume();事件处理程序后添加end

它被“卡住”的原因是,自节点v0.10以来,流开始处于暂停状态,因此您需要通过以某种方式读取它们来取消它们。 req.resume();完成了这一点。一旦请求流中没有任何内容(可能没有任何内容),将发出end事件。