javascript - 客户端无法接收json

标签 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.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 

http://localhost:8092/socket.io/?EIO=3&transport=polling&t=LRMGBeD返回:{"foo":"bar"}

我做错了什么?

最佳答案

发出一个事件foo @server,以便您可以使用on事件@client来监听该事件

您需要在两端(服务器和客户端)使用socket.io。

服务器:

    var io = require('socket.io').listen(server);
    io.socket.emit('foo',{"foo":"bar"});

客户:

socket.on('foo', function(msg){
   console.log(msg);
 });

关于javascript - 客户端无法接收json,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39213235/

相关文章:

javascript - 如果 json 值与条件匹配,则显示单选按钮已选中

php - 从 PHP 上的 JSON 数据中选择一个数组

python - 如何使用 Django REST Framework 读取数据、应用函数并返回结果?

mysql - Node Js : MYSQL is not connecting

javascript - 使用 Javascript 访问动态创建的链接

javascript - 删除字段按钮在具有自动完成功能的动态添加/删除字段中不起作用

java - jquery ajax 调用在成功调用 servlet 时返回错误

javascript - 如何让导航栏淡入淡出

node.js - 在我的 React 应用程序中访问 heroku config var

node.js - 我在此代码中的两条路线具有相同的逻辑,但它们的行为不同