Java 使用axios传递包含数组的typescript对象
我有一个typescript对象,它的一个字段是字符串数组。我想通过axios将其传递到我的java后端。以这种方式初始化阵列时:Java 使用axios传递包含数组的typescript对象,java,arrays,typescript,axios,Java,Arrays,Typescript,Axios,我有一个typescript对象,它的一个字段是字符串数组。我想通过axios将其传递到我的java后端。以这种方式初始化阵列时: var numbers = ["1", "2", "3"]; var numbers = new Array(); // or just var numbers = []; 它正确地通过了。但当我以这种方式初始化它时: var numbers = ["1", "2
var numbers = ["1", "2", "3"];
var numbers = new Array(); // or just var numbers = [];
它正确地通过了。但当我以这种方式初始化它时:
var numbers = ["1", "2", "3"];
var numbers = new Array(); // or just var numbers = [];
然后使用以下命令在循环的中添加元素:
numbers.push("some string");
我在java代码中得到空数组。。。
对我来说,另一件有关联的事情是,当我以第一种方式初始化数组,然后在for循环中添加元素时,在java中,我只能检索这些静态值
这就是我提出API请求的方式:
public create(entity: IMessage, numbers: String[]): Promise<IMessage> {
return new Promise<IMessage>((resolve, reject) => {
entity.user = accountStore.state.userIdentity;
entity.date = new Date();
var dto = new MessageDTO(entity.id, entity.name, entity.content, entity.date, entity.user, numbers);
axios
.post(`${baseApiUrl}`, dto)
.then(res => {
resolve(res.data);
})
.catch(err => {
reject(err);
});
});
}
公共创建(实体:IMessage,数字:String[]):承诺{
返回新承诺((解决、拒绝)=>{
entity.user=accountStore.state.userIdentity;
entity.date=新日期();
var dto=新消息dto(entity.id、entity.name、entity.content、entity.date、entity.user、number);
axios
.post(`${baseapirl}`,dto)
。然后(res=>{
解析(res.data);
})
.catch(错误=>{
拒绝(错误);
});
});
}
好的,我设法解决了这个问题 用于填充数组的数据来自外部文件。我使用的是FileReader及其onload函数。我的错误是在数组填充之前请求API
很抱歉打扰您。好的,我设法解决了这个问题 用于填充数组的数据来自外部文件。我使用的是FileReader及其onload函数。我的错误是在数组填充之前请求API 很抱歉打扰您。该数组如何进入您的Java代码?给出一个例子,你没有理由看到你所展示的两个选项的不同结果。请回答这个问题,作为一个注释,这几乎是不可读的。这个数组是如何进入你的Java代码的?给出一个答案,你没有理由看到你所展示的两个选项的不同结果。请回答这个问题,作为一个评论,这几乎是不可读的。