Я создаю систему регистрации пользователей для (простого) сайта. Мы используем ax ios для запросов на публикацию, и по какой-то причине запрос не будет выполнен, если я получу к нему доступ с помощью метода stati c, а если я вставлю его непосредственно в соответствующий тест.
Это сервер. js часть. Я проверил это с почтальоном, и он отлично работает. Я надеюсь, что все в порядке. Я не включаю в эту часть все, но скажите, нужна ли вам и эта информация.
app.post('/contact', (request, response) => {
console.log("request to add contact");
let val = [
request.body.contactName,
request.body.phone,
request.body.email
];
contactDao.createOne((status, data) => {
response.status(status);
response.json(data);
}, val);
});
Вот класс, содержащий метод, который будет подключаться к вышеуказанной конечной точке сервера. Ни одна из цепочек ax ios .post (). Then (). Catch () не выполняется.
export class RegisterService{
static registerUser(username, email, password, callback){
//The header for the post request
let header = {
"Content-Type": "application/json"
};
The body for the post request. The password will be used further inside the post request that
won't run
let contactBody = {
"username": username,
"phone": null,
"email": email
};
//This line runs
console.log("Creating contact at /contact");
//None of the console.log(...)'s run inside of here
axios.post('http://localhost:8080/contact', JSON.stringify(contactBody), {headers: header})
.then(res => {
console.log("Some text");
console.log(res.status);
console.log(res.data);
return res.data.insertId;
})
.then(contactID => {
console.log("Creating organizer with contactID" + contactID);
callback(contactID);
})
.catch(error => console.log("Error: " + error));
//This line runs
console.log("After");
}
}
И это мой тестовый код, который всегда проходит, потому что функция обратного вызова никогда не запускается.
test('Can we add an organizer?', () => {
RegisterService.registerUser("evengu", "even.gultvedt@gmail.com", "somepass",
contactID => {
expect(contactID).toBeBiggerThan(5);
});
});
Подводя итог, я не могу понять, почему топор ios .post () не будет работать.