// // 解决超过16位数字解析精度丢失问题 // axios.defaults.transformResponse = [ // function (data) { // try { // const json = JSONBIG({ // storeAsString: true // }) // return json.parse(data) // } catch (error) { // return {data} // } // } // ]为什么导致下载下来的xlsx内容是object
时间: 2023-07-09 10:54:48 浏览: 100
根据你提供的代码,这段代码是对 Axios 库进行全局配置,用于在接收响应数据时解决精度丢失问题。具体来说,它使用了第三方库 JSONBig 来解析响应数据中的 JSON 字符串,并保证精度不丢失。
至于你提到的下载下来的 XLSX 内容是 object 的问题,可能与这段代码并没有直接关系。可能是在下载 XLSX 文件时,响应数据被解析成了 JavaScript 对象,而不是二进制数据流。你可以检查一下下载代码是否正确,或者尝试使用其他方式下载文件。
相关问题
axios.defaults.transformResponse = [ function (data) { try { const json = JSONBIG({ storeAsString: true }) return json.parse(data) } catch (error) { return {data} } } ]导致下载的内容是object
这段代码使用了axios库来发送HTTP请求,并在响应数据中使用JSONBIG对JSON进行解析。具体来说,它将axios的默认值中的transformResponse属性设置为一个函数数组,该函数首先尝试将响应数据解析成JSON格式,如果解析失败则返回原始数据对象。
对于您的问题,如果下载的内容是object类型,则可能是由于服务器返回的数据格式不符合JSON格式,导致解析失败并返回原始数据对象。您可以尝试打印出返回的数据,查看其具体格式并对其进行相应的处理。另外,您也可以尝试使用其他的解析库或自己编写解析函数来解析响应数据。
axios.defaults.baseURL = 'http://localhost:8080/book/'; var vm = new Vue({ el: '#app', data: { id: '', bookName:'', flag: false, submitFlag: false, books: [] }, methods:{ handle: async function () { //编辑 var book = { id: this.id, bookName: this.bookName }; await axios.put(book.id, book); await this.queryBooks(); this.id = ''; this.bookName = ''; this.flag = false; }, //编辑处理 toEdit: async function (id) { var response = await axios.get(id); this.id = response.data.id; this.bookName = response.data.bookName; this.flag = true; }, deleteBook: async function (id) { }, queryBooks: async function () { var response = await axios.get(); this.books = response.data; } }, computed:{ total: function () { return this.books.length; } }, watch: { name: function (val) { console.log(val); } }, mounted:function () { this.queryBooks(); } });请补全代码通过axois远程交互操作图书信息。
以下是补全代码:
```
axios.defaults.baseURL = 'http://localhost:8080/book/';
var vm = new Vue({
el: '#app',
data: {
id: '',
bookName:'',
flag: false,
submitFlag: false,
books: []
},
methods:{
handle: async function () {
//编辑
var book = {
id: this.id,
bookName: this.bookName
};
await axios.put(book.id, book);
await this.queryBooks();
this.id = '';
this.bookName = '';
this.flag = false;
},
//编辑处理
toEdit: async function (id) {
var response = await axios.get(id);
this.id = response.data.id;
this.bookName = response.data.bookName;
this.flag = true;
},
deleteBook: async function (id) {
await axios.delete(id);
await this.queryBooks();
},
queryBooks: async function () {
var response = await axios.get();
this.books = response.data;
}
},
computed:{
total: function () {
return this.books.length;
}
},
watch: {
name: function (val) {
console.log(val);
}
},
mounted:function () {
this.queryBooks();
}
});
```
以上代码通过使用axios库实现了查询、编辑、删除图书的功能。其中,axios库用于向服务器发送请求,获取图书信息,同时也可以用于更新和删除图书。此外,该代码中使用了Vue.js框架来实现数据的双向绑定,以及实现响应式的页面更新。