Расширение Chrome не отправляет данные из всплывающего окна на мой сервер node.js / express. - PullRequest
0 голосов
/ 25 октября 2019

Расширение предназначено для простого входа в систему, поэтому оно отправляет данные из входа в систему на сервер с помощью node.js / express. Я думаю, что проблема заключается в том, что я предполагаю, что всплывающее окно работает как HTML-страница и некоторые разрешения для Chrome, такие как «CORS». Вот часть кода:

Манифест:

{
    "name": "CTRL",
    "manifest_version": 2,
    "version": "1.0",
    "description": "Aplicacion para el control de contenido en google Chrome",
    "icons": {
        "16": "imagenes/Logo.png",
        "48": "imagenes/Logo.png",
        "128": "imagenes/Logo.png"
    },
    "browser_action": {
        "default_icon":"imagenes/Logo.png",
        "default title": "CTRL",
        "default_popup": "archivo/popup.html"
    },
    "background": {
        "scripts": ["background.js"],
        "persistent": false    
    },
    "permissions": ["tabs","documents"]  
}

Popup.html:

        User: <input type="text" id="User" placeholder="User"><br>
        Password: <input type="text"  placeholder="Password" id="Password" ><br>
        <button type="submit"  id='boton'>ENVIAR</button>
        <script src="popup.js"></script>

Сервер:

let express = require('express');
let path = require("path");

let app = express();

app.use(express.json());

app.use(express.static(path.join(__dirname, '/archivo')));

app.post('/CTRL', function(req, res) {
    let usuario = req.body;
    console.log('Nombre: ' + usuario.name + ' password: ' + usuario.passw);
    res.send('Nombre: ' + usuario.name + ' password: ' + usuario.passw);
});

app.listen('8000', function() {
    console.log('server corriendo puerto 8000');
  })

Клиент:

let nombre = document.getElementById('User');
let contrasena = document.getElementById('Password');
let boton = document.getElementById('boton');

boton.addEventListener('click', sendData);

function sendData(){

    let nombreSTR = nombre.value
    let contrasenaSTR = contrasena.value

    let usuario = {
        name: nombreSTR,
        passw: contrasenaSTR
    }

    fetch('http://localhost:8000/CTRL', {
      method: 'POST',
      body: JSON.stringify(usuario),
      headers: {
        Accept: 'application/json',
        'Content-Type': 'application/json'
      }
    });
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...