Hi All, I was able to resolve the issue. The problem was that I was accessing the socket.io chat app that I created, from the file system. The correct way to access the chat app was by going to localhost:3000/ ( host and port, where the server can be accessed indicated by the code in index.js) in the web browser and there was no need to download the socket.io and jquery js files.
Thanks Tharik for helping me get a clear understanding on CORS. Regards. On Sun, Jun 14, 2015 at 10:33 PM, Sabra Ossen <[email protected]> wrote: > Hi Tharik, > > I searched up on CORS (Cross Origin Resource Sharing) and based on my > understanding the problem is that I am trying to access a resource on > another domain from my domain. Therefore a simple solution would be to > download both the *socket.io-1.2.0.js and jquery-1.11.1.js*. > > I included them in the directory containing the html file and changed the > script as follows. > > *.....* > > *<script src="socket.io-1.2.0.js"></script><script > src="jquery-1.11.1.js"></script>* > > > *.....* > But the error still persists. > > Regards. > > On Sun, Jun 14, 2015 at 8:14 AM, Tharik Kanaka <[email protected]> wrote: > >> Hi Sabra, >> >> This happens because of same origin policy where that specific resource >> hosted at some other domain and javascript is running on local machine. To >> resolve that usually CORS headers needs to be added to the response from >> the server side. >> >> In your case did you try by moving *socket.io-1.2.0.js* file (where you >> refer CDN hosted file in the code) to your local machine and refer it? >> >> Regards, >> >> On Sat, Jun 13, 2015 at 9:36 PM, Sabra Ossen <[email protected]> wrote: >> >>> Hi All, >>> >>> I am following the tutorial mentioned in [1] and trying to create a chat >>> application using socket.io and node js. >>> >>> I have installed express and socket.io on my machine. The versions are >>> specified in the package.json below. >>> >>> >>> >>> >>> >>> >>> >>> >>> >>> *{ "name": "socket-chat-example", "version": "0.0.1", "description": >>> "my first socket.io <http://socket.io> app", "dependencies": { >>> "express": "~4.10.2", "socket.io <http://socket.io>": "~1.2.0" }}* >>> >>> The node server code is specified below. >>> >>> >>> >>> >>> >>> >>> >>> >>> >>> >>> >>> >>> >>> >>> >>> >>> >>> *var app = require('express')();var http = >>> require('http').Server(app);var io = require('socket.io >>> <http://socket.io>')(http);app.get('/', function(req, res){ >>> res.sendFile(__dirname + '/index.html');});io.on('connection', >>> function(socket){ socket.on('chat message', function(msg){ >>> io.emit('chat message', msg); });});http.listen(3000, function(){ >>> console.log('listening on *:3000');});* >>> >>> The content of the html file being accessed is specified below. >>> >>> >>> >>> >>> >>> >>> >>> >>> >>> >>> >>> >>> >>> >>> >>> >>> >>> >>> >>> >>> >>> >>> >>> >>> >>> >>> >>> >>> >>> >>> >>> >>> >>> >>> >>> *<!doctype html><html> <head> <title>Socket.IO chat</title> >>> <style> * { margin: 0; padding: 0; box-sizing: border-box; } body >>> { font: 13px Helvetica, Arial; } form { background: #000; padding: >>> 3px; position: fixed; bottom: 0; width: 100%; } form input { border: >>> 0; padding: 10px; width: 90%; margin-right: .5%; } form button { >>> width: 9%; background: rgb(130, 224, 255); border: none; padding: 10px; >>> } #messages { list-style-type: none; margin: 0; padding: 0; } >>> #messages li { padding: 5px 10px; } #messages li:nth-child(odd) { >>> background: #eee; } </style> </head> <body> <ul >>> id="messages"></ul> <form action=""> <input id="m" >>> autocomplete="off" /><button>Send</button> </form> <script >>> src="https://cdn.socket.io/socket.io-1.2.0.js >>> <https://cdn.socket.io/socket.io-1.2.0.js>"></script> <script >>> src="http://code.jquery.com/jquery-1.11.1.js >>> <http://code.jquery.com/jquery-1.11.1.js>"></script> <script> var >>> socket = io(); $('form').submit(function(){ socket.emit('chat >>> message', $('#m').val()); $('#m').val(''); return false; >>> }); socket.on('chat message', function(msg){ >>> $('#messages').append($('<li>').text(msg)); }); </script> >>> </body></html>* >>> >>> The code can also be found in [2]. >>> >>> I am getting the following error in the firefox console with the app >>> failing. >>> >>> >>> *Cross-Origin Request Blocked: The Same Origin Policy disallows reading >>> the remote resource at >>> http://file/socket.io/?EIO=3&transport=polling&t=1434211017174-2 >>> <http://file/socket.io/?EIO=3&transport=polling&t=1434211017174-2>. >>> (Reason: CORS request failed).GET XHR http://file/socket.io/ >>> <http://file/socket.io/>* >>> >>> I have exhaustively searched for a solution for the above issue but was >>> unsuccessful. I highly appreciate any input on the above problem. Thanks in >>> advance. >>> >>> [1] http://socket.io/get-started/chat/ >>> [2] https://github.com/rauchg/chat-example >>> >>> Regards. >>> -- >>> Sabra Ossen <http://lk.linkedin.com/in/sabraossen> >>> Undergraduate | Department of Computer Science and Engineering >>> University of Moratuwa >>> Sri Lanka >>> >>> _______________________________________________ >>> Dev mailing list >>> [email protected] >>> http://wso2.org/cgi-bin/mailman/listinfo/dev >>> >>> >> >> >> -- >> >> *Tharik Kanaka* >> >> WSO2, Inc |#20, Palm Grove, Colombo 03, Sri Lanka >> >> Email: [email protected] | Web: www.wso2.com >> > > > > -- > Sabra Ossen <http://lk.linkedin.com/in/sabraossen> > Undergraduate | Department of Computer Science and Engineering > University of Moratuwa > Sri Lanka > -- Sabra Ossen <http://lk.linkedin.com/in/sabraossen> Undergraduate | Department of Computer Science and Engineering University of Moratuwa Sri Lanka
_______________________________________________ Dev mailing list [email protected] http://wso2.org/cgi-bin/mailman/listinfo/dev
