我正在爲我的網站創建一個功能,人們可以與我聊天。爲了做到這一點,我使用php和apache構建了網站的常規部分,並使用node.js(使用socket.io和express)構建了聊天服務器。當人們訪問我們的網站時,如果他們想與我聊天(在同一個窗口中,而不是彈出窗口),有一個小酒吧從側面滑出。隨着聊天服務器的運行,我看到客戶端試圖連接:與同一服務器上運行的socket.io(節點)和apache發生CORS錯誤
info - socket.io started
Express server listening on port 8000 in development mode
debug - client authorized
info - handshake authorized 776963641537662118
它沒有再往前走,試圖透過WebSocket或XHR連接,我得到的客戶端以下錯誤控制檯:
XMLHttpRequest cannot load http://wundertutor.com:8000/socket.io/1/?t=1356208544112. Cannot use wildcard in Access-Control-Allow-Origin when credentials flag is true.
另外,我有這在我的.htaccess文件:
<IfModule mod_headers.c>
Header set Access-Control-Allow-Origin "*"
</IfModule>
感謝您的回覆。我試過你的解決方案,但它仍然無法正常工作。順便說一下,如果您想自己查看錯誤,我正在離開節點應用程序。 – anonymousfox
我再也看不到原始錯誤了,但我在控制檯上看到一個404錯誤,提示 'GET http://wundertutor.com/javascripts/socket.io-client/lib/socket.io-client .js 404(未找到)' 看起來您的客戶端可能配置錯誤? socket.io通常希望在它提供的靜態路由上提供客戶端JavaScript。在這裏看到socket.io wiki [鏈接] https://github.com/LearnBoost/Socket.IO/wiki/How-do-I-serve-the-client – stevejpurves
對不起。我離開節點應用程序運行,但我認爲一旦我退出控制檯就停止了。無論如何,我使用「nohup node app.js&」來運行它,它現在應該保持運行。我仍然無法弄清楚原來的問題。我似乎沒有嘗試改變它:/ – anonymousfox