首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >找不到NodeJS Ajax 404文件

找不到NodeJS Ajax 404文件
EN

Stack Overflow用户
提问于 2019-07-12 01:46:19
回答 1查看 73关注 0票数 0

我是NodeJS的新手。我有一个登录页面,我正在尝试使用表单验证用户。因此,我捕获表单提交并向我的服务器(app.js)文件发送ajax请求。然而,我从服务器得到的是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")
})
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-07-12 03:14:17

AJAX请求的url与您向Express app.post to /login终结点公开的路径不匹配。

您需要将AJAX请求更改为/login而不是/login.html,或者将Express端点更改为/login.html

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56994779

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档