我有一個 React-Ionic Web 應用程式對自定義 NodeJS 服務器進行一些查詢。我可以閱讀用戶,但除非我重繪 我的頁面,否則我無法創建用戶。重繪 頁面后,我的所有 GET 和 POST 查詢都可以正常作業。
這是我創建用戶的功能。除“USR SUCESSFULLY LAUNCH...”外,所有日志均顯示
export async function createUser(p_user: StudentSkeletonDB) {
//Normalize name guid familyname and comments
//Removing all specials characters
console.log("USR STARTING TO CREATE :")
let newUser: StudentSkeletonDB = p_user;
newUser.firstname = newUser.firstname.replace(/[~`!@#$%^&*() ={}\[\];:\'\"<>.,\/\\]/g, '');
newUser.guid_id = newUser.guid_id.replace(/[~`!@#$%^&*() ={}\[\];:\'\"<>.,\/\\]/g, '');
newUser.familyname = newUser?.familyname != undefined ? newUser.familyname.replace(/[~`!@#$%^&*() ={}\[\];:\'\"<>.,\/\\]/g, '') : "";
newUser.comments = newUser?.comments != undefined ? newUser.comments.replace(/[~`!@#$%^&*() ={}\[\];:\'\"<>.,\/\\]/g, '') : "";
console.log("USR NORMALIZED :")
console.log(newUser)
var myHeaders = new Headers();
myHeaders.append('Content-Type', 'application/json');
myHeaders.append('Content-Lenght', '' JSON.stringify(newUser).length);
var data = new FormData();
data.append("json", JSON.stringify(newUser));
console.log("USR SENDING... :")
return await fetch("http://127.0.0.1:8083/signup", {
headers: myHeaders,
method: 'POST',
body: JSON.stringify(newUser)
}).then((s) => {
console.log("USR SUCCESSFULLY LAUNCH... :")
return s;
});
}
在我的 NodeJS 服務器上,甚至沒有顯示第一個日志。
exports.postSignup = async(req, res, next) => {
//getting user data from request body
console.log("STARTING TO CREATE USER")
const { guid_id, firstname, familyname, _password, birthday, usertype, class_id, login, filenumber, avatar, language, isactive, ef_sessionpid, comments, connected, created, simu_password, gender, driving_school_code, nb_connection } = req.body;
try {
const user = new User({
guid_id,
firstname,
familyname,
_password,
birthday,
usertype,
class_id,
login,
filenumber,
avatar,
language,
isactive,
ef_sessionpid,
comments,
connected,
created,
simu_password,
gender,
driving_school_code,
nb_connection
});
const result = await user.createUser();
result.send(user);
} catch (error) {
const errorToThrow = new Error();
switch (error.code) {
case '23505':
errorToThrow.message = 'User already exists';
errorToThrow.statusCode = 403;
break;
default:
errorToThrow.statusCode = 500;
}
//pass error to next()
next(errorToThrow);
}
};
我重復一遍,但是如果我重繪 我的網路應用程式的任何頁面,然后創建一個用戶,一切都會正常運行,并且我的所有日??志(甚至是 NodeJS)都會顯示。即使沒有重繪 ,我的 newUser 物件也很好,看起來 fetch 本身不起作用。
我試圖將 fetch url 更改為完全錯誤的東西return await fetch("http://127.0.0.1:8083/dzedzededze/dzedze)",它甚至沒有引發錯誤。
uj5u.com熱心網友回復:
解決它 !
我的 NodeJS 服務器上的前一個請求崩潰了。
所有 POST 請求都在佇列中。
我的代碼中有多個錯誤,例如Content-Lenght. 我的英語不太好:' ght '和' gth '是我的一大弱點。
data也沒有使用。
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/511593.html
