Это то, что я получаю на консоли Chrome
Я использую Vue. js (vue -resource) и Express с PostgreSQL
У меня есть список на стороне сервера, который я хочу получить для элементов (и отобразить на веб-странице), но я ничего не получаю Ниже приведен Vue код файла
<script>
export default {
name: 'order',
data () {
return {
orderOpt: 'Deliver',
orderType: 'State',
items: []
}
},
created () {
this.$http.get('localhost:3000/items').then(response => {
this.items = response.body
}, response => {
setTimeout(function () {
alert('The Server is not Running/items')
}, 10000)
})
},
computed: {
total () {
let sum = 0
for (let i = 0; i < this.items.length; i++) {
sum += parseInt(this.items[i].quantity)
}
return sum
}
},
methods: {
itemsUpdate (value) {
this.items.forEach((item, i) => {
console.log(value)
item.inStock -= item.quantity
item.quantity = 0
})
this.post(this.items)
},
post (Data) {
this.$http.post('localhost:3000', Data)
}
},
watch: {
}
}
</script>
Поскольку я использую Express на стороне сервера
В индексе присутствует следующий код. js
const express = require('express');
const logger = require('morgan');
const bodyParser = require('body-parser');
const cookieParser = require('cookie-parser');
const cors = require('cors')
const app = express();
const Joi = require('joi');
const Data = require('./Data.json');
const { Pool, Client } = require('pg');
const pool = require('./db');
const port = process.env.USER || 3000;
//middleware
app.use(express.json());
app.use(logger('dev'));
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({extended: true}));
app.use(cookieParser());
app.use(cors())
//DATA
const getItems = (req, res) => {
pool.query('SELECT * FROM data', (err, results) => {
if (err) {
throw err
}
res.status(200).json(results.rows)
})
}
app.listen(port, function () {
console.log(`Server Starts on ${port}`);
});
//Requests
app.get('/', (req, res) => {
res.json({Welcome: 'API Created'})
})
app.get('/item', async (req, res) => {
res.status(200).send(Data);
});
app.get('/items', getItems)
app.post('/items', (req, res) => {
try {
const items = [req.body.name, req.body.inStock, req.body.quantity];
const newItems = pool.query(
"INSERT INTO data VALUES ($1, $2, $3) RETURNING *",
items
).then(()=> {
console.log(newItems);
});
} catch (e) {
console.error(e);
}
pool.end();
});