gpt4 book ai didi

javascript - Express、AJAX - res.send 不发送任何数据

转载 作者:太空宇宙 更新时间:2023-11-04 02:30:42 25 4
gpt4 key购买 nike

我正在构建一个带有 Node/Express/Mongo 后端的应用程序,并在前端使用简单的 jquery。

当我向我的服务器发出 Ajax POST 时,res.send 似乎没有发送任何可以被 POST 成功函数捕获的数据。

这是我的前端 AJAX 代码 -

$(".signup-form").submit(function(e){

var createUrl = $('.tutor-checkbox').is(':checked') ? serverUrls.createTutor : serverUrls.createStudent;
var formInput = {
email: $('#signup-email-input').val(),
password: $('#signup-password-input').val(),
first_name: $('#firstname-input').val(),
last_name: $('#lastname-input').val()
};

formInput = JSON.stringify({
user: formInput
});

$.ajax({
url:createUrl,
type:"POST",
data: formInput,
contentType:"application/json",
dataType:"JSON",
success: function(data){
console.log("success: ", data);
window.location = data.redirect;
}
})
e.preventDefault();
})

浏览器控制台中的打印输出是:

success:  undefined main.js:45
Uncaught TypeError: Cannot read property 'redirect' of undefined main.js:46

我的服务器路由代码是:

app.post('/api/createtutor', function(req, res){

db.createUser(Tutor.model, req.body.user)
.then(function(data){

var queryString = utils.serialize({
first_name: req.body.user.first_name,
last_name: req.body.user.last_name
});

res.header("Access-Control-Allow-Origin", "*");
res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept");

res.status(304).send({
redirect: "/tutor-profile-form?" + queryString
});

})
.catch(function(err){
res.status(404).end(JSON.stringify(err));
})

});

有人可以告诉我出了什么问题吗?我已经被困在这个问题上很多年了!

提前非常感谢您。

最佳答案

e.preventDefault();

应该是第一行。所以:

$(".signup-form").submit(function(e){
// This should be line one
e.preventDefault();

var createUrl = $('.tutor-checkbox').is(':checked') ? serverUrls.createTutor : serverUrls.createStudent;
// etc etc
})

关于javascript - Express、AJAX - res.send 不发送任何数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26967265/

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