Javascript 我在这个API调用中做错了什么吗?

Javascript 我在这个API调用中做错了什么吗?,javascript,vue.js,Javascript,Vue.js,代码如下: async createTemplate({ commit }, data) { console.log("CREATE TEMPLATE data STORE.JS: " + JSON.stringify(data)); return await API.put( "asulink", "/scheduler/schedule",

代码如下:

 async createTemplate({ commit }, data) {
      console.log("CREATE TEMPLATE data STORE.JS: " + JSON.stringify(data));
      return await API.put(
                "asulink",
                "/scheduler/schedule",
                {
                  "schedule_name": "MJ Test 3",
                  "public": "true",
                  "local_times": [
                    1200,1230,1300,1330,1400,1430
                  ]
                }
              ).then((response) => {
                console.log("API.PUT ADD A SCHEDULE"+JSON.stringify(response))
              })
              .catch((err) => {
                window.console.log("Error occured", err);
              });
    },
如果我调用这个API,我会得到一个400错误。错误显示:请发送有效的JSON正文。 但是,如果我复制上面的JSON主体,并使用OpenAPI进行相同的PUT API调用,我会得到一个200。 我不知道发生了什么事


这不是一个axios调用,而是一个放大API.put调用。

文档说明了其他内容。您需要在正文中发送请求

查看此链接


对象是否需要是
{body:{“schedule_name”…}
?“并且这不是axios调用,而是放大API.put调用。”-那么为什么要将其标记为@进化Xbox非常感谢您。我不明白为什么这是一个问题,当其他API调用工作正常时。
async createTemplate({ commit }, data) {
      console.log("CREATE TEMPLATE data STORE.JS: " + JSON.stringify(data));
      return await API.put(
                "asulink",
                "/scheduler/schedule",
                {"body": {
                  "schedule_name": "MJ Test 3",
                  "public": "true",
                  "local_times": [
                    1200,1230,1300,1330,1400,1430
                  ]
                }, "headers": {}}
              ).then((response) => {
                console.log("API.PUT ADD A SCHEDULE"+JSON.stringify(response))
              })
              .catch((err) => {
                window.console.log("Error occured", err);
              });
    },