如何将包含对象数组的对象作为parmters传递给API

时间:2018-05-03 14:54:23

标签: javascript rest fetch

将嵌套对象数组作为参数发布到API时出错,返回内部服务器500错误。

 let data= {
   id:'1',
   customerId:cid,
   list:list
  };  

其中list是对象数组

list = [{a:1,b:1},{a:2,b:2},{a:3,b:3}];

我尝试将它们转换为url参数,例如

var cstr = JSON.stringify(list);
var clist = cstr.replace(/\"([^(\")"]+)\":/g,"$1:");
let urlParameters = Object.entries(data).map(e => encodeURIComponent(e[0])+"="+encodeURIComponent(e[1])).join('&');

但是我在控制台中收到了Internal Server Error 500

我的api请求代码是

fetch(url, {
      method: 'POST',
      headers: {
          'Accept': 'application/json',
          'Content-Type': 'application/x-www-form-urlencoded',
          'x-auth-token': token,
      },
      body: urlParameters
      }).then((response) => {
        console.log(response);
            return response.json();
      }).then((responseJson) => {
          console.log(responseJson);
      }).catch((error) => {
        console.error(error);
      });

    };

0 个答案:

没有答案