jquery - 使用jquery解析node.js服务器中的json给出404错误

标签 jquery node.js json

我正在使用node.js和socket.io构建一个简单的Web应用程序,这是我第一次使用此类技术。

我有一个发出事件的服务器文件和一个响应的客户端文件,另外我有一个名为 roomParser.js 的文件,该文件旨在解析同一文件夹中的 JSON 文件并初始化可用房间。文件看起来像这样

    let select= document.getElementsByTagName('select')[0];

$.getJSON('rooms.json', function(data) {
    alert(data);
});
select.innerHTML="";

/*
for(let i=0; i<rooms.length; i++){
    select.innerHTML+="<options value="+rooms[i]+">"+rooms[i]+"</options>";
}*/

即使 rooms.json 文件与 roomParser.js 位于同一文件夹中,我仍然收到 404 错误,告诉我尚未找到该文件。

这里还有我的客户端和服务器文件,如果它们有用的话

服务器

const express = require("express");
const app = express();
var server = require('http').createServer(app);
var io=require('socket.io')(server);
var bodyParser = require('body-parser')

var userlist= new Array();

app.use(express.static('public'));
app.use(bodyParser.urlencoded({ extended: false }))


app.get('/', function (req, res) {
    res.sendFile(__dirname + '/public/views/index.html');
});



io.on('connection', function(socket){
    console.log('user connected')
    socket.on('connection tried', function (name) {
        if(!find(name)){
            userlist.push(name);
            socket.broadcast.emit('connection message', name + "has connected");
            console.log(name);
        }
        else
            socket.emit('RegistrationErr','username');

    })
});

function find(name){
    for( let i=0; i<userlist.length; i++){
        if(userlist[i]==name)
            return true;
    }
    return false;
}

server.listen(3000);

客户端

$(function () {
    var socket = io()


    $('#formElem').submit(function (e) {
        e.preventDefault();

        socket.emit('connection tried', $('#name').val());
        return false;
    })

    socket.on('RegistrationErr', function (error) {
        console.log(error)
    })




});

最佳答案

您应该首先使用“fs”读取文件并将 JSON 数据分配给变量,然后继续处理,请参阅: https://nodejs.org/dist/latest-v6.x/docs/api/fs.html#fs_fs_readfile_file_options_callback

关于jquery - 使用jquery解析node.js服务器中的json给出404错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59747774/

相关文章:

javascript - 如何使用 JavaScript 和 jQuery 覆盖 HTML tbody 表中每一行第一列的值?

javascript - 查找包含不包含特定值的数组的文档

json - 在 excel 中查看来自 Firebase 的 JSON 数据?

javascript - D3 错误 - 未捕获的 TypeError : Cannot read property 'children' of undefined

jquery - 每当使用 Jquery 单击 td 时,如何将复选框标记为已选中?

javascript - 如何使用 jQuery AutoComplete 在文本框中输入 json 值?

javascript - jQuery 计时问题 (ajax)

javascript - Grunt.js 安装问题 - 找不到命令

node.js - 不支持选项 [useMongoClient]

json - 复杂对象和集合的 Groovy/Grails JSON 转换