我无法将我的js前端链接到我的Node / Express后端。当我从客户端js向我的服务器发出请求时,我的请求返回成功,但我请求的页面没有呈现。
服务器端我:
app.get('/dashboard', (req, res) => res.render('dashboard/dashboard', { updates, agendaItems }));
客户方:
$.ajax({
type: 'GET',
url: '/dashboard',
data: context,
success: function () {
console.log('success');
},
error: function (jqXHR, textStatus, err) {
console.log(textStatus);
}
});
我没有错误,我确实在控制台中显示了console.log('成功')。当我转到http://localhost:27017/dashboard或者我在Postman中发出get请求时,我的路由确实按预期工作。我唯一的问题是从我的客户端js发出路由请求。我点击按钮时发出了ajax请求。
答案 0 :(得分:1)
术语' ajax'指的是异步javascript和xml' (有点愚蠢的名字imho)。这是一个http请求,可以从网页中运行的代码中获取。页面代码负责处理响应 - 默认情况下,浏览器不会对其执行任何操作。
这与重定向浏览器相反,浏览器指示浏览器发出请求并通过解析和呈现响应来处理响应等。
ajax()调用中的success函数可用于解析并显示响应(如果需要),但需要更多工作,通常更容易组织应用程序以使用浏览器的默认行为尽可能。
指示浏览器重定向用户将实现此目的:
window.location = "/dashboard";