首页 > 解决方案 > 我想通过 POST 请求发送一个大的 json 对象

问题描述

我正在使用 fetch api 向基于 NodeJS/Express/MongoDB 的 API 发送发布请求,但不知何故,只有一些字段被发布到 MongoDB 集合。其余省略。当我使用 console.log 在控制台中打印整个 js 对象时,我得到一个带有 ... 最后的部分对象,当悬停在上面时,显示“刚刚评估了下面的值”。看起来请求正在以块的形式发送对象。我想发送整个对象。如何发送整个对象?

前端:

document.getElementById('contact-submit').onclick = async (e) => {
        e.preventDefault();

      console.log(postData('http://localhost:4001/people',{
            

                "name":document.getElementById('name').value.toString(),
                "age": document.getElementById('age').value ,
                "sex":document.getElementById('sex').value,
                "address":document.getElementById('address').value,
                "class": document.getElementById('class').value,
                "degree": Number(document.getElementById('degree').value),
                "grade":document.getElementById('grade').value,
                "notes":Date(document.getElementById('notes').value),
                "resume":Number(document.getElementById('resume').value),
                "skills":criteria,
                "rounds":rounds,
                
            
          }));
    }



    async function postData(url = '', data ={}){


        console.log(data);

        const response = await fetch(url, {

            

            method: 'POST',
            mode: 'cors',
            cache: 'no-cache',
            credentials: 'same-origin',
            headers:{
                'Content-Type': 'application/json',

            },
            redirect: 'follow',
            referrerPolicy: 'no-referrer',
            body: JSON.stringify(data)
        });
        return response.json();
    }

该对象来自一个表单,并且只有一部分被发布到 api 中。PS。当通过邮递员操作时,API 本身可以正常工作并发布完整的对象。

标签: javascriptjsonfetch-api

解决方案


推荐阅读