I’ve followed the instructions and I’m getting a 404 URL not found error. My database is “OfficialsData” and I have 2 Dynamic Pages “OfficialsData ID” and “OfficialsData Update ID”. Members are required to login in order to reach members page but to keep is simple I’ve left the login checks in place to follow standard code.
I’m trying to have members review there profile data. Some fields are read only and just displayed. Others they can update. “OfficialsData/ID” is to show all fields if any of the updatable fields need to change they move to “OfficialsData/Update/ID” page to make changes. I can never get it to load “OfficialsData/ID” page using logic below. Any help is greatly appreciated.
here is my code and I’m frustrated with the 404 URL not found error.
https://luftms27.wixsite.com/website
import wixUsers from ‘wix-users’;
import wixData from ‘wix-data’;
import wixLocation from ‘wix-location’;
$w.onReady( () => {
if(wixUsers.currentUser.loggedIn) {
$w(“#loginButton”).label = “Logout”;
$w(“#profileButton”).show();
}
else {
$w(“#loginButton”).label = “Login”;
$w(“#profileButton”).hide();
}
} );
export function loginButton_click(event) {
// user is logged in
if(wixUsers.currentUser.loggedIn) {
// log the user out
wixUsers.logout()
.then( () => {
// update buttons accordingly
$w(“#loginButton”).label = “Login”;
$w(“#profileButton”).hide();
} );
}
// user is logged out
else {
let userId;
let userEmail;
// prompt the user to log in
wixUsers.promptLogin( {"mode": "login"} )
.then( (user) => {
userId = user.id;
return user.getEmail();
} )
.then( (email) => {
// check if there is an item for the user in the collection
userEmail = email;
return wixData.query("Members")
.eq("_id", userId)
.find();
} )
.then( (results) => {
// if an item for the user is not found
if (results.items.length === 0) {
// create an item
const toInsert = {
"_id": userId,
"email": userEmail
};
// add the item to the collection
wixData.insert("OfficialsData", toInsert)
.catch( (err) => {
console.log(err);
} );
}
// update buttons accordingly
$w("#loginButton").label = "Logout";
$w("#profileButton").show();
} )
.catch( (err) => {
console.log(err);
} );
}
}
export function profileButton_click(event) {
wixLocation.to(/OfficialsData/${wixUsers.currentUser.id});
}