Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在Vue JS中使用Axios将json数据发布到API时出现问题_Javascript_Json_Vuejs2_Axios - Fatal编程技术网

Javascript 在Vue JS中使用Axios将json数据发布到API时出现问题

Javascript 在Vue JS中使用Axios将json数据发布到API时出现问题,javascript,json,vuejs2,axios,Javascript,Json,Vuejs2,Axios,我正在尝试创建一个Axios请求,在这里我将发布json数据。数据的格式将是 {"qBody":"aaa","qAnswer":"bbb","qOptions":[],"qType":"GAP","qClass":6,"qSubject":1,"qChapter":1,"qCreatori

我正在尝试创建一个Axios请求,在这里我将发布json数据。数据的格式将是

{"qBody":"aaa","qAnswer":"bbb","qOptions":[],"qType":"GAP","qClass":6,"qSubject":1,"qChapter":1,"qCreatorid":1,"qCreatorrole":"admin"}
但它发布为

{"data":{"qBody":"aaa","qAnswer":"bbb","qOptions":[],"qType":"GAP","qClass":6,"qSubject":1,"qChapter":1,"qCreatorid":1,"qCreatorrole":"admin"}}
以下是我的代码片段:

var data = {
              "qBody" : question,
              "qAnswer" : trueFalseAnswer,
              "qOptions" : qOptions,
              "qType" : questionCategory,
              "qClass" : className,
              "qSubject" : subjectName,
              "qChapter" : chapterName,
              "qCreatorid" : qCreatorid,
              "qCreatorrole" : qCreatorrole
            };

    const newData =  JSON.stringify(data)
    
     this.$axios.post("http://128.199.192.87:8081/api/v1/questions/add",{
                  newData
                },{
                  'Content-Type': "application/json"
                }).then((response)=>{
                  console.log(response)
                })

如何使格式正确?提前感谢您所做的
console.log()
-ing不是您要发送的内容。这是从服务器返回的响应。如果要记录发送的内容,请使用:

console.log(newData);
。。。就在发出POST请求之前

最有可能的情况是,您不需要将请求字符串化

您在控制台中看到的是服务器响应。根据他们文档中的,服务器的响应数据被放置在响应对象的
.data
属性中

显然,服务器会发回相同的数据。对于大多数服务器,这意味着没有发生错误



简而言之,您没有将数据包装为
{data:…}
发送。如果是,您将返回:
{data:{data:…}

您是什么
console.log()
-ing不是您要发送的内容。这是从服务器返回的响应。如果要记录发送的内容,请使用:

console.log(newData);
。。。就在发出POST请求之前

最有可能的情况是,您不需要将请求字符串化

您在控制台中看到的是服务器响应。根据他们文档中的,服务器的响应数据被放置在响应对象的
.data
属性中

显然,服务器会发回相同的数据。对于大多数服务器,这意味着没有发生错误



简而言之,您没有将数据包装为
{data:…}
发送。如果您是,您将返回:
{data:{data:{data:…}}

您读过文档了吗?当您说“它发布为…”时,您的意思是:“这是我在浏览器控制台中看到的”?不是。它来自浏览器的“开发人员网络选项卡中的请求负载”选项。您可以使用codesandbox.io创建一个可运行的吗(或类似的服务),确保它复制所描述的行为?你说的几乎是不可能的。你读过文档吗?当你说“它发布为…”时,你的意思是:“这就是我在浏览器控制台中看到的”?否。它来自浏览器的“开发人员网络选项卡”选项中的“请求有效负载”。请使用codesandbox.io(或类似服务)创建一个可运行的,确保它复制了所描述的行为?您所说的几乎是不可能的。我已在浏览器的“开发者网络”选项卡选项中发布了上述来自请求负载的json。我尝试跳过字符串化数据。我已在浏览器的“开发者网络”选项卡选项中发布了上述来自请求负载的json。我尝试跳过将数据字符串化。