POST http://localhost:8080/api/v1/post 500(内部服务器错误)

问题描述 投票:0回答:1

尝试创建新帖子时出现“500 内部服务器错误”enter image description here。是什么导致了这个问题?怎么解决?

CreatePost.jsx

 const handleSubmit = async (e) => {
    e.preventDefault();

    if (form.prompt && form.photo) {
      setloading(true);
      try {
        const response = await fetch("http://localhost:8080/api/v1/post", {
          method: "POST",
          headers: {
            "Content-Type": "application/json",
          },
          body: JSON.stringify(form),
        });
        const data = await response.json();
        // alert("Success");
        navigate("/");
      } catch (error) {
        alert(error);
      } finally {
        setloading(false);
      }
    } else {
      alert("Please Enter a prompt / Generate an Image.");
    }
  };

这里,我展示的是帖子

 <div className="mt-18">
        {loading ? (
          <div className="flex justify-center items-center">
            <Loader />
          </div>
        ) : (
          <>
            {searchText && (
              <h2 className="font-medium text-[#666e75] text-xl mb-3 ">
                Showing results for
                <span className="text-[#1b1c20]">{searchText}</span>
              </h2>
            )}
            <div
              className="grid lg:grid-cols-4 sm:grid-cols-3 xs:gird-cols-1 
            grid-cols-1 gap-3 "
            >
              {searchText ? (
                <RenderCards data={[]} title="No Search results found" />
              ) : (
                <RenderCards data={allPosts} title="No Post Found" />
              )}
            </div>
          </>
        )}
      </div>

试图只渲染一个帖子,它仍然给出相同的 500 内部错误。请帮帮我。

服务器代码

 
// GET ALL POSTS
router.route("/").get(async (req, res) => {
  try {
    const posts = await Post.find({});
    res.status(200).json({ success: true, data: posts });
  } catch (error) {
    res.status(500).json({ success: false, message: error });
  }
});

// CREATE A POST
router.route("/").post(async (req, res) => {
  try {
    const { name, prompt, photo } = req.body;
    const photoURL = await cloudinary.uploader.upload(photo);

    const newPost = await Post.create({
      name,
      prompt,
      phot: photoURL.url,
    });
    res.status(201).json({
      success: true,
      data: newPost,
    });
  } catch (error) {
    res.status(500).json({ success: false, message: 'Unable to create a post, please try again' `enter code here`});
  }
});

Error log

reactjs api mern cloudinary http-status-code-500
1个回答
0
投票

这是服务器错误,所以我们需要查看该路由的服务器代码,而不是客户端代码。

© www.soinside.com 2019 - 2024. All rights reserved.