[英]Jquery ajax request response 404 when make a post request
我正在創建一個基本的好友請求功能。 這是我正在使用的功能之一,當Ajax發送發帖請求時它顯示404。如果我將代碼直接放在server.js文件中,但我正在嘗試組織代碼,則它可以工作。 有什么辦法嗎? 謝謝!
用戶通過使用電子郵件添加朋友並點擊提交時,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'); });
控制器/ 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
我在您的app.post()中沒有看到響應
因此它將是404(未找到)。
找到用戶后,您可以做出響應。
例如,“成功”消息和朋友列表。
app.post('/add', function(req, res) {
res.json(['success', friend list]);
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.