【发布时间】:2022-01-18 23:45:11
【问题描述】:
我正在使用 ajax 调用我的数据库以获取一些数据。我尝试将其限制为特定的 ID。我让后端工作。当我访问特定的 localhost url 或从 Postman 调用它时,它可以工作。然后我得到预期值。但是,当我尝试使用 AJAX 从我的客户那里拨打电话时,我什么也得不到。我遇到了一个有时会起作用,有时却不起作用的事情。
const GetUserById = (id) => {
let url = "/Users/1";
$.get(url, (gotUser) => {
alert(gotUser.id);
})
}
我有这个方法,我只是硬编码到 /Users/1 以进行测试。当我在邮递员中调用它或转到 localhost:8080/Users/1 时,我得到了我期望的东西。然而在这里它根本没有去任何地方。
app.get("/Users/:id", (request, response) => {
let sqlCode = "select Id, Username, [Password], Credits from Users Where Id = " + request.params.id;
sql.query(connString, sqlCode, (error, result) => {
if (error) {
console.log(error);
}
else {
response.json(result);
}
});
});
服务器端,如果这很有趣的话。
编辑:添加了这样的尝试捕获。它甚至没有抓住。它到达 $.get(url, (gotUser) => { 的行,然后它走到函数的末尾并且没有得到任何东西。
try {
$.get(url, (gotUser) => {
alert(gotUser.id);
})
} catch (error) {
console.log(error);
}
【问题讨论】:
-
GetUserById怎么称呼?向 Ajax 调用添加错误处理程序。 -
调试时会发生什么?浏览器控制台上是否有任何错误?在调试工具中,是否发出了 AJAX 请求?服务器的响应是什么?你确认这个函数被调用了吗?
-
现在添加了一个编辑@epascarello 和大卫,我没有收到任何控制台错误或任何东西。最奇怪的部分是我得到了我在其他地方所期待的数据,除了这个电话。 David 该函数在另一个函数中被调用。
-
这不是你会得到错误的方式......
$.get(...).fail(function( jqXHR, textStatus, errorThrown ) { console.error(textStatus, errorThrown); }); -
我问过一次,我再问一次,
GetUserById怎么叫?
标签: javascript jquery node.js ajax express