我已经成功实现了socket.io,node.js并使用安全连接向除IE(在9上测试)之外的所有浏览器表达服务器实时json数据。这在各处工作都很好,直到我把它移到https后面。从服务器控制台输出,它显示从IE调用时收到事件:
xhr-polling received data packet 5:::{"name":"lookup_place","args":
[{"place":"Berlin"}]}
但是,没有给出任何响应,控制台中显示的下面4行是:
clearing poll timeout
xhr-polling writing 8::
set close timeout for client 27081179790885432
xhr-polling closed due to exceeded duration
当从FF或Chrome完成同样的操作时,“xhr-polling writing 8 ::”这一行会附加正确的答案,例如:
xhr-polling writing 5:::{"name":"place_results","args":[{"a":
[{"identifier":"52156","value":"Monschau, 52156"},
{"identifier":"67590","value":"Monsheim, 67590"},
{"identifier":"04617","value":"Monstab, 04617"}]}]}
我使用的是node.js版本0.4.10,socket.io版本0.7.7和表达版本2.4.3。在没有https / ssl / secure连接的情况下,相同的脚本在IE 7-9中运行得非常好。
在发现为什么IE中没有提供任何响应但在其他所有方面都能正常工作时,将非常感谢任何帮助。