sách gpt4 ăn đã đi

LỖI: TypeError: Không thể đọc thuộc tính không xác định (đọc 'tên người dùng')

In lại Tác giả: trợ lý lỗi Thời gian cập nhật: 24-10-2023 23:18:11 30 4
mua khóa gpt4 giày nike



Đây là toàn bộ mã của tôi. Tôi đang cố gắng định vị trên trang page.ejs của tôi thông qua /insta/:id nhưng nó lại hiển thị lỗi:

Đây là toàn bộ mã của tôi. Tôi đang cố gắng tìm theo /insta/:id trên trang page.ejs của mình nhưng nó hiển thị lỗi:


Không thể đọc các thuộc tính của undefined (đọc 'tên người dùng').

Không thể đọc thuộc tính không xác định (đọc 'Tên người dùng').


Tôi muốn có được id đó uuidv4() sẽ cung cấp nhưng thay vào đó nó lại trả về tên người dùng. Và tôi cũng muốn lấy bài đăng cụ thể thông qua id (đang lấy giá trị tên người dùng chứ không phải id được tạo) nhưng biến bài đăng của tôi không lấy được bài đăng cụ thể nào trong đó.

Tôi dự kiến ​​sẽ nhận được id mà uuidv4() sẽ cung cấp nhưng nó lại trả về tên người dùng. Tôi cũng muốn lấy bài đăng cụ thể theo id (lấy giá trị tên người dùng, không phải id được tạo), nhưng biến bài đăng của tôi không nhận được bất kỳ bài đăng cụ thể nào trong đó.


Đây là index.js


const express=yêu cầu("express");
const ứng dụng=express();
const path=require("đường dẫn");
const { v4: uuidv4 } = require('uuid');
cổng const=3000;

hãy để bài viết=[
{
tên người dùng: "evablue@2",
hình ảnh: "/post1.jpg",
nội dung:"Thưởng thức bãi biển xinh đẹp này :)",
thẻ:"",
id:uuidv4(),
},
{
tên người dùng: "purple_whale",
hình ảnh: "/post2.jpg",
nội dung:"Nên nhấp vào hình ảnh trước khi đào sâu <**>",
tags:"@shresDrawMystry, @riddhiMolala",
id:uuidv4(),
},
{
tên người dùng: "nature'sBaby",
hình ảnh: "/post3.avif",
nội dung: "Thích chụp những khoảnh khắc đẹp.",
thẻ:"@bankpyt",
id:uuidv4(),
},
{
tên người dùng: "butterscoth#Love",
hình ảnh: "/post4.jpg",
nội dung: "Hôm nay là lễ hội Holi.Woooooohoooo.",
thẻ:"",
id:uuidv4(),
},
{
tên người dùng: "coffeeLover",
hình ảnh: "/post5.jpg",
nội dung: "Khám phá một quán cà phê mới.",
thẻ:"@RelaxCafe",
id:uuidv4(),
}
]

ứng dụng.use(express.urlencoded({ mở rộng: đúng }))
ứng dụng. sử dụng(express.json());
ứng dụng.use(express.static("công khai"));

app.set("công cụ xem","ejs");
app.set("lượt xem",path.join(__tên thư mục,"/lượt xem"));

ứng dụng.get("/insta",(req,res)=>{
res.render("home.ejs",{ bài viết });
})
ứng dụng.get("/insta/:id",(req,res)=>{
hãy để {id}=req.params;
hãy để bài viết=bài viết.tìm((p)=> id===p.id );
console.log(yêu cầu tham số);
res.render("page.ejs",{ post });
})


ứng dụng.listen(cổng,()=>{
console.log("Cổng 3000 đang lắng nghe yêu cầu");
})

Đây là page.ejs




<đầu>



<%= post.username %>







<%= post.username %>









Thêm câu trả lời
Khuyến nghị câu trả lời tuyệt vời

Bạn đang gặp lỗi: Không thể đọc các thuộc tính của undefined (đọc 'tên người dùng') từ của bạn trang.ejs tập tin khi bạn cố gắng truy cập tên người dùng đây:

Đã xảy ra lỗi: Không thể đọc thuộc tính không xác định từ tệp Page.ejs của bạn (đọc 'Tên người dùng') khi bạn cố truy cập tên người dùng tại đây:


<%= post.username %>

Các bưu kiện đối tượng trống rỗng vì cách bạn đang sử dụng uuid thư viện.

Do cách bạn đang sử dụng thư viện UUID nên đối tượng POST trống.


Khi bạn tạo ra bài viết mảng, các uuidv4() chức năng tạo ra một giá trị mới mỗi khi máy chủ của bạn khởi động lại:

Khi tạo mảng POSTS, hàm uuidv4() sẽ tạo ra một giá trị mới mỗi khi máy chủ khởi động lại:


hãy để bài viết=[
{
tên người dùng: "evablue@2",
hình ảnh: "/post1.jpg",
nội dung:"Thưởng thức bãi biển xinh đẹp này :)",
thẻ:"",
id:uuidv4(), // id:2d98e533-769e-4352-83ea-c4fdbc516d73
},
{
tên người dùng: "purple_whale",
hình ảnh: "/post2.jpg",
nội dung:"Nên nhấp vào hình ảnh trước khi đào sâu <**>",
tags:"@shresDrawMystry, @riddhiMolala",
id:uuidv4(), // id:6064012d-cf4f-4445-88c8-e62d25153c98
},
...
];

Làm thế nào để bạn biết giá trị nào để truyền cho ứng dụng.get("/insta/:id" tuyến đường?

Làm cách nào để biết giá trị nào cần chuyển đến tuyến đường app.get("/insta/:id"?


Bộ định tuyến của bạn trông ổn nhưng bạn sẽ cần phải thêm console.log('bài viết:', bài viết) ngay sau khi bạn tạo mảng để bạn có thể thực sự thấy giá trị nào uuidv4() đã thêm vào cho mỗi nhận dạng trong vòng bài viết mảng. Sau đó, bạn có thể điều hướng đến:

Bộ định tuyến của bạn trông ổn, nhưng bạn cần thêm console.log('post:', post) ngay sau khi tạo mảng để bạn thực sự có thể thấy uuidv4() thêm những gì cho mỗi id trong giá trị mảng bài đăng. Sau đó bạn có thể điều hướng đến:


'http://localhaost:3000/insta/6064012d-cf4f-4445-88c8-e62d25153c98'
//^^ Thay thế giá trị này bằng một trong các giá trị được hiển thị trong console.log('posts:', posts)

Tuy nhiên, điều này rất cồng kềnh và bạn chỉ nên sử dụng cơ sở dữ liệu như MySQL hoặc MongoDB. Tôi hiểu rằng đó sẽ là một thách thức kỹ thuật khác nhưng bạn sẽ không thể dựa vào một mảng mãi mãi. Đọc tài liệu và tin tưởng vào bản thân!

Tuy nhiên, điều này rất cồng kềnh và bạn chỉ nên sử dụng cơ sở dữ liệu như MySQL hoặc MongoDB. Tôi biết đây sẽ là một thách thức kỹ thuật khác nhưng bạn không thể dựa vào mảng mãi được. Đọc tài liệu và tự tin vào chính mình!


Thêm câu trả lời
30 4 0
trợ lý lỗi
Hồ sơ

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá taxi Didi miễn phí
Phiếu giảm giá taxi Didi
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress