Файл NodeJS Ajax 404 не найден - PullRequest
0 голосов
/ 11 июля 2019

Я новичок в NodeJS.У меня есть страница входа в систему, и я пытаюсь подтвердить пользователя, используя форму.Поэтому я перехватываю отправку формы и отправляю ajax-запрос в файл моего сервера (app.js).Однако то, что я получаю с сервера, 404 - не найдено.Я хочу выполнить проверку и, если пользователь подтвержден, перевести его на другую страницу или распечатать сообщение об ошибке на самой странице входа.Я не понимаю, как это сделать в node-js.И еще одно сомнение: как обрабатывать ajax-запросы, а также HTTP-запросы для страницы одновременно.Спасибо.

Вот мой код Javascript на стороне клиента, который выполняет проверку:

function checkUserParameters(username, password) {
var jsonObj= '{"username": \"'+username+'\", "password": \"'+password+'\"}'
jsonObj= JSON.parse(jsonObj)
$.ajax({
    url: 'http://localhost:3000/login.html',
    type: 'post',
    data: jsonObj,
    success: function (data) {
        console.log('Obtained '+data+' data from server')
    },
    error: function (jqXHR, textStatus, error) {
        console.log('Text status : '+textStatus+' Error: '+error)
    }
})

}

Вот код сервера (app.js):

const path= require('path')
const express= require('express')
const mongodb= require('mongodb')
const MongoClient= mongodb.MongoClient

const databaseURL= 'mongodb://127.0.0.1:27017'
const databseName= 'projektx'

const app= express()
const pathDir= path.join(__dirname, '../public')

app.use(express.static(pathDir))
app.use(function (req, res, next) {
    res.setHeader('Access-Control-Allow-Origin', 'http://localhost:3000')
    res.setHeader('Access-Control-Allow-Methods', 'GET, POST, OPTIONS, PUT, PATCH, DELETE')
    res.setHeader('Access-Control-Allow-Headers', 'X-Requested-With,content-type')
    res.setHeader('Access-Control-Allow-Credentials', true)
    next()
})

app.post('/login', (req, res) => {
    res.sendFile('./login.html')
})

app.listen(3000, () => {
    console.log("Server is up on port 3000")
})

1 Ответ

0 голосов
/ 11 июля 2019

url для вашего запроса AJAX не соответствует пути, который вы открываете для конечной точки Express app.post до /login.

Вам нужно либо изменить запрос AJAX на /login, чем /login.html, либо изменить конечную точку Express на /login.html

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