gpt4 book ai didi

javascript - 尝试获取 json 数据,出现 "not a function"错误

转载 作者:行者123 更新时间:2023-12-03 02:13:21 26 4
gpt4 key购买 nike

我正在创建一个程序员工作板应用程序,并且我正在尝试在我的主页上显示 json 数据。在某些时候我会渲染它,但现在我只是试图让它以 json 形式显示,以便我知道它是有效的。

我能够连接到服务器,但是当我加载页面时,我收到 TypeError(Job.showAllJobs 不是函数)。

我正在使用前一周制作的一个 CRUD 应用程序作为引用,但它和这个项目之间有一些差异让我感到困惑。

这是我的项目的文件结构:

job-board

  • database

    • connection.js
    • schema.sql
  • models

    • Job.js
    • User.js
  • views

    • index.ejs
    • login.ejs
  • server.js

与我之前的 crud 应用程序不同,这个项目使用的是一个 Connection.js 文件,该文件之前遇到了一些麻烦。起初我以为我已经脱离困境,但我认为这可能是我当前问题的原因。

无法让 GET 工作似乎是一个小错误,但这确实困扰着我,因此我无法继续工作。

我用示例列表填充了我的表(职位)作为测试,但在不久的将来我计划将应用程序连接到 GitHub 职位 API。

服务器.js:

const express = require('express');
const app = express();
const PORT = 3000;
const bodyParser = require('body-parser');
const methodOverride = require('method-override');
const Job = require('./models/Job');
const User = require('./models/User');
const connection = require('./database/connection')

app.use(bodyParser.json())

app.use(methodOverride('_method'));

const urlencodedParser = bodyParser.urlencoded({ extended: false })

app.set("view engine", "ejs");

///// GET /////

// GET INDEX
app.get('/', (request, response) => {
Job.showAllJobs().then(everyJob => {
response.json('index');
// response.render('index', { jobs: everyJob });
});
});

Job.js

const Job = {};

const db = require('../database/connection');

///// JOBS /////


/// INDEX ///
Job.showAllJobs = () => {
return db.any('SELECT * FROM jobs');
};

module.exports = Job;
module.exports = db;

连接.js

// require database setup to use pg-Promise
const pgp = require('pg-promise')({});

// connection url
const connectionURL = "postgres://localhost:5432/job_board";

// new database connection
const db = pgp(connectionURL);

// module.exports = db;

最佳答案

这里有几个问题。

  • 确保将作业传递到 res.json 而不是字符串“index”
  • 确保您从 connection.js 导出 db
  • 您将从 Job.js 导出 Jobdb。由于您第二次导出 db,因此它会覆盖 Job 的导出。

关于javascript - 尝试获取 json 数据,出现 "not a function"错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49466971/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com