Отображение RSS-канала или API в приложении Vue - PullRequest
0 голосов
/ 20 января 2020

Я пытался это месяцами.

Я sh отобразил следующий RSS-канал на моем vue. js приложении: https://www.google.ie/alerts/feeds/10663948362751557705/4511034072220974544.

Но как связать все нижеприведенное вместе и отобразить серию статей? Я борюсь здесь, и любая помощь будет оценена!

Я настроил серверную часть, чтобы избежать политики CORS в Express. js:

const express = require('express');
const cors = require('cors');
const bodyParser = require('body-parser');
const morgan = require('morgan');

const app = express();

app.use(morgan('tiny'));
app.use(cors());
app.use(bodyParser.json());

app.get('/', (req, res) => {
    res.json({
        message: 'Test'
    });
});

const port = process.env.PORT || 4000;
app.listen(port, () => {
    console.log(`listening on ${port}`);
});

Компонент GoogleAlert:

<template>
  </template>

<script>
  export default {

  };
</script>

PostArticles. js:

import axios from 'axios';

const url = 'http://localhost:4000';

export default {
mounted() {
  axios.get('https://www.google.ie/alerts/feeds/10663948362751557705/16000017647453347583')
  .then(function (response) {
    // handle success
  console.log(response);
  })
 .catch(function (error) {
    // handle error
   console.log(error);
 });
}

1 Ответ

0 голосов
/ 20 января 2020

Ваш сервер с помощью CORS разрешает любому источнику читать данные из него.

Ваш веб-интерфейс запрашивает данные RSS непосредственно у Google . Он не находится рядом с вашим бэкэндом.

Google не использует CORS, чтобы дать вашему веб-интерфейсу разрешение на чтение его данных.

Вам необходимо изменить свой веб-интерфейс поэтому он запрашивает у вашего бэкэнда данные, и вам нужно изменить его, чтобы он предоставлял веб-интерфейсу эти данные (что будет означать, что бэкэнд получит их из Google (и, вероятно, будет хранить их в локальном кэше)).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...