gpt4 book ai didi

AjAX post 请求重定向页面时出现问题

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

我试图在 AJAX post 请求成功时重定向到另一个网页,但我无法弄清楚。

我尝试在服务器端使用 res.redirect(),并在客户端使用 window.location=urllocation.href=urllocation.replace(url),但这些都不适合我。

这是我的 jQuery ajax 请求:

function addContact(){
var contactName = $('#name').val();
var email = $('#email').val();

var newContact = {name: contactName, email: email};

$.post('/contacts/add', newContact)
.success(function(data){
location.href = data.redirect;
})
}

这是我的服务器代码:

router.post('/add', function(req, res, next){
fs.readFile('./contacts.json', function(err, data){
if (err) return res.status(400).send(err);

var contactArr = JSON.parse(data);
var newContact = req.body;
contactArr.push(newContact);

fs.writeFile('./contacts.json', JSON.stringify(contactArr), function(err){
if (err) return res.status(400).send(err);
res.redirect('/');
});
});
});

如有任何帮助,我们将不胜感激!

最佳答案

服务器代码需要发送新的 URL,而不是重定向,然后客户端代码使用该 URL 进行重定向。所以:

服务器代码:

router.post('/add', function(req, res, next){
fs.readFile('./contacts.json', function(err, data){
if (err) return res.status(400).send(err);
var contactArr = JSON.parse(data);
var newContact = req.body;
contactArr.push(newContact);

fs.writeFile('./contacts.json', JSON.stringify(contactArr), function(err){
if (err) return res.status(400).send(err);
res.json({"redirect":"http:www.google.com"});//replace this with your redirect url
});
});
});

和客户端代码:

function addContact(){
var contactName = $('#name').val();
var email = $('#email').val();
var newContact = {name: contactName, email: email};

$.post('/contacts/add', newContact)
.success(function(data){
window.location.href = data.redirect;
})
}

应该这样做。

关于AjAX post 请求重定向页面时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35007064/

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