gpt4 book ai didi

javascript - jquery ajax请求响应404,当发出post请求时

转载 作者:行者123 更新时间:2023-12-03 03:47:11 25 4
gpt4 key购买 nike

我正在创建一个基本的好友请求功能。这是我正在开发的功能之一,当 Ajax 发送 post 请求时,它显示 404。如果我将代码直接放在 server.js 文件中,它就可以工作,但我正在尝试组织代码。有什么解决办法吗?谢谢!

当用户使用电子邮件添加 friend 并点击提交时,client.pug 发出 ajax 请求

$('#addFriend').on('click', function(ev) {
ev.preventDefault();
var searchByEmail = $('#searchByEmail').val();
$.ajax({
type: 'POST',
url: '/add',
contentType: 'application/x-www-form-urlencoded; charset=UTF-8',
data: {
email: searchByEmail
},
success: function(data) {
console.log('success');
}
});
document.getElementById("searchByEmail").value = "";
$('#userModal').modal('hide'); });

Controller /friend.js

 const express = require('express');
const app = express();
const User = require('../models/user');
const bodyParser = require('body-parser');

var friendRequest = function() {
app.post('/add', function(req, res) {
var requestToEmail = req.body.email;
console.log(requestToEmail);
User.findOne({
email: requestToEmail
}, function(err, email) {
if (!email) {
console.log('cannot find the email', err);
return res.send(err);
}
/*
Add into database
Display the friend list
*/
})
});
} // End friend request

module.exports = friendRequest;

server.js包含并使用模块

const friendInvite = require('./controllers/friend');
app.use('/friend', friendInvite);

文件结构

- server.js
- controllers
- friend.js
- views
- client.pug

最佳答案

尝试更改 controllers/friend.js 上的代码,如下所示:

const express = require('express');
const app = express();
const User = require('../models/user');
const bodyParser = require('body-parser');

var friendRequest = function() {
app.post('/add', function(req, res) {
var requestToEmail = req.body.email;
console.log(requestToEmail);
User.findOne({
email: requestToEmail
}, function(err, email) {
if (!email) {
console.log('cannot find the email', err);
return res.send(err);
}
/*
Add into database
Display the friend list
*/

//add this response to client side
res.json({ 'status': '200', 'desc': 'Success' });
})
});
} // End friend request

module.exports = friendRequest;

如果数据已保存,您必须向客户端发送响应,其标志是什么。也许你可以尝试在这里检查片段代码: https://github.com/egin10/node_mongoose/blob/master/routes/student.js

关于javascript - jquery ajax请求响应404,当发出post请求时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45339491/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com