首页 > 解决方案 > PUG NodeJS Express 前端/后端无连接

问题描述

您好,我的服务器上有两个 NodeJS 正在运行

请这只是一台开发机器而不是生产机器,所以我知道解析表单数据等

App.js - 在端口 4000 上运行的后端 Express Sever

index.js - 在端口 8000 上运行的前端 PUG/Express

我可以访问 something.mydomain.com 上的前端

但是当我尝试使用 'POST' 将后端 ajax 发送到 localhost:4000/Whatever/Whatever

它不允许我这样做。

因为它试图从 WWW 外部而不是内部 login.js 加载 locahost

const serverurl = "http://localhost:4000";

$(document).ready(function () {
    $('#login').click(function () {
        var data = {};
        data.username = $('#inputusername').val();
        data.password = $('#inputpassword').val();
        $.ajax({
            url: serverurl+'/user/login'
            , type: 'POST'
            , data: JSON.stringify(data)
            , contentType: 'application/json'
        })
            .done(function (data) {

                if (data[0].response == '1') {
                    alert("Logged In");
                    Cookies.set('user', data[0].name);
                    Cookies.set('location', data[0].location);
                    Cookies.set('role', data[0].role);
                    $(location).attr('href', '/home');
                } else if(data[0].response == '0') alert("Username or Password Incorrect")
            });


    });

前端请求图片

任何帮助将不胜感激

标签: node.jsexpresspug

解决方案


你得到了 CORS 错误。您可以获取有关它的更多信息。我的解决方案是使用 Express.js CORS 包

您的主 js 文件应如下所示:

// app.js
const express = require('express')
const cors = require('cors')
const app = express()

app.use(cors())

推荐阅读