Javascript 无法在客户端接收json
我的服务器如下所示:Javascript 无法在客户端接收json,javascript,json,node.js,socket.io,Javascript,Json,Node.js,Socket.io,我的服务器如下所示: var http = require('http'); //Lets define a port we want to listen to const PORT=8092; //We need a function which handles requests and send response function handleRequest(request, response){ response.statusCode = 200; response
var http = require('http');
//Lets define a port we want to listen to
const PORT=8092;
//We need a function which handles requests and send response
function handleRequest(request, response){
response.statusCode = 200;
response.setHeader('Content-Type', 'application/json');
response.setHeader('Access-Control-Allow-Origin', 'http://localhost:3000');
response.setHeader('Access-Control-Request-Method', '*');
response.setHeader('Access-Control-Allow-Methods', 'OPTIONS, GET');
response.setHeader('Access-Control-Allow-Headers', '*');
response.setHeader('Access-Control-Allow-Credentials', 'true');
var responseBody = {
'foo': 'bar'
};
response.write(JSON.stringify(responseBody));
response.end();
}
//Create a server
var server = http.createServer(handleRequest);
//Lets start our server
server.listen(PORT, function(){
//Callback triggered when server is successfully listening. Hurray!
console.log("Server listening on: http://localhost:%s", PORT);
});
在客户机上,我使用以下方式收听:
const socket = io('http://localhost:8092');
socket.on('foo', function(msg){
console.log(msg);
});
但是,没有任何内容输出到控制台。我可以看到以下信息在网络上不断发送:
localhost resource-type-xhr POST HTTP 200
localhost resource-type-xhr GET HTTP 200
并且正在返回:{“foo”:“bar”}
我做错了什么?请
emit
event foo@server,这样您就可以在event@client上使用
您需要在两端(服务器和客户端)使用socket.io
服务器:
var io = require('socket.io').listen(server);
io.socket.emit('foo',{"foo":"bar"});
客户:
socket.on('foo', function(msg){
console.log(msg);
});
请emit
event foo@server,这样您就可以在event@client上使用进行监听
您需要在两端(服务器和客户端)使用socket.io
服务器:
var io = require('socket.io').listen(server);
io.socket.emit('foo',{"foo":"bar"});
客户:
socket.on('foo', function(msg){
console.log(msg);
});