0

OS Xにxampp vmをインストールしました

このような xampp のビュー:

ここに画像の説明を入力

ここに画像の説明を入力

次のように phpmydmin にアクセスします。

ここに画像の説明を入力

プロジェクトエクスプレスjsに接続したい

私はこのように試みます:

const express = require('express');
const path = require('path');
const bodyParser = require("body-parser");
const request = require("request");
const https = require('https');
const mysql = require('mysql');

//create database connection
const conn = mysql.createConnection({
  host: 'localhost',
  user: 'root',
  password: '',
  database: 'myappexpress',
  port: '8080'
});

//connect to database
conn.connect((err) =>{
  if(err) throw err;
  console.log('Mysql Connected...');
});

const app = express();
app.use(bodyParser.json());

// Add headers
app.use(function (req, res, next) {

    // Website you wish to allow to connect
    res.setHeader('Access-Control-Allow-Origin', '*');

    // Request methods you wish to allow
    res.setHeader('Access-Control-Allow-Methods', 'GET, POST, OPTIONS, PUT, PATCH, DELETE');

    // Request headers you wish to allow
    res.setHeader('Access-Control-Allow-Headers', 'X-Requested-With,content-type');

    // Set to true if you need the website to include cookies in the requests sent
    // to the API (e.g. in case you use sessions)
    res.setHeader('Access-Control-Allow-Credentials', true);

    // Pass to next layer of middleware
    next();
});

//show all customers
app.get('/api/customers',(req, res) => {
  let sql = "SELECT * FROM customers";
  let query = conn.query(sql, (err, results) => {
    if(err) throw err;
    res.send(JSON.stringify({"status": 200, "error": null, "response": results}));
  });
});

// Set static folder
app.use(express.static(path.join(__dirname, 'public')));

const PORT = process.env.PORT || 5000;

app.listen(PORT, () => console.log(`Server started on port ${PORT}`));

次に、郵便配達員からhttp://localhost:5000/api/customersを呼び出します

コマンドプロンプトに次のようなエラーが存在します:

ここに画像の説明を入力

どうすればこの問題を解決できますか?

4

2 に答える 2

0

使用しているポートは 8080 ですが、それがベースに接続するための Apache Web サーバーのポートであることがわかります。これは mysql ベースのポートを変更します。これはデフォルト ポートであると誤解される可能性があるため、削除してみてください。たとえば、高速データベース ライブラリがデフォルトでポートを取得するようにポートします。

const conn = mysql.createConnection({ ホスト: 'localhost', ユーザー: 'root', パスワード: '', データベース: 'myappexpress' });

于 2020-10-31T06:48:25.183 に答える