#javascript #jquery #node.js
#javascript #jquery #node.js
Вопрос:
Итак, у меня есть эта функциональность. Клиент отправляет данные через функцию post jquery
$.post(currentURL "/api/tables", newReservation,
function(data) {
if (data == true) {
alert("Yay! You are officially booked!")
}
if (data == false) {
alert("Sorry you are on the waitlist")
}
$('#reserve_name').val("");
$('#reserve_phone').val("");
$('#reserve_email').val("");
$('#reserve_uniqueID').val("");
});
Затем Node.js получает ли он его здесь
app.post("reserve/api/tables", function(req, res) {
var newentry = req.body;
console.log(newentry);
entries.push(newentry);
res.json(newentry);
});
Однако console.log
выдает мне эту ошибку
jquery.js: 9631 СООБЩЕНИЕ http://localhost:8080/api/tables 404 (Не найден)
Комментарии:
1. Что находится
reserve
внутриapp.post()
. Вы не отправляете/reserve/api/tables
2. Я пытался использовать только api / таблицы. Это тоже не работает. Попытался объединить текущее dirname с api / tables, и это тоже не сработало
3. Что такое
currentURL
?4. Я думаю, вам нужно добавить
reserve
при выполнении запроса из jQuery5. Используете ли вы Express.js или похожий? Лучше всего пометить его, если да.
Ответ №1:
Потому что вы выполняете запрос на URL: http://localhost:8080/api/tables , но ваш сервер ждет вас по адресу: «reserve/api/ tables».
Попробуйте настроить таргетинг: http://localhost:8080/reserve/api/tables
Комментарии:
1. Мы не знаем, что внутри
currentURL
.2. Я безрезультатно исключил currentURL из уравнения
Ответ №2:
в вашей маршрутизации указан локальный хост: 8080/reserve/api/tables,
удалите «резервную» маршрутизацию
Комментарии:
1. Мы не знаем, что внутри
currentURL
.2. Я безрезультатно исключил currentURL из уравнения
Ответ №3:
Вам не хватает косой черты в
app.post("reserve/api/tables", function(req, res) {
так и должно быть
app.post("/reserve/api/tables", function(req, res) {
или
app.post("/api/tables", function(req, res) {
как отредактировано позже