Ajax请求仅使用JSON.stringify发布数组的一部分

问题描述 投票:0回答:1

我有一个在JavaScript中更新的数组。

这是我如何启动数组...

columnArray = ["userID", "Date", "trialType", "cue", "target", "response", "accuracy", "lenAcc", "strictAcc", "fkpl", "totalTime"];
var dataArray = [];
dataArray.push(columnArray);

然后我根据发生的情况和我做的一些计算来更新数据......

dataArray.push(userID, new Date(), trialType, cue, target, response, accuracy, lenAcc, strictAcc, fkpl, totalTime);

当我使用此代码显示数组时...

document.getElementById("trial").innerHTML = dataArray;

......事情看起来很棒(格式化的换行符)

userID,Date,trialType,cue,target,response,accuracy,
lenAcc,strictAcc,fkpl,totalTime,
Ad31,Mon Dec 18 2017 11:35:55 GMT-0500 (Eastern Standard 
Time),copy,hello,world,xzzvxzxvxzxcv,0,0,0,938,5001 

但是,当我使用此功能保存数据时......

function saveData(){
$.ajax({
    type: "POST",
    url: "saveData.php",
    dataType: "application/json",
    ContentType: "application/json; charset=utf-8",
    data: {"data": JSON.stringify(dataArray)},
  })
}

...我只获取标题信息(格式化再次换行)

[["userID","Date","trialType","cue","target","response","accuracy",
"lenAcc","strictAcc","fkpl","totalTime"]]

我读到某处可能我的数组需要成为一个对象,因此我应该使用...

var dataArray = {};

...代替...

var dataArray = [];

但是,如果我这样做,我仍然可以将dataArray视为常规数组(例如,将内容推送到最后,存储大量数据等)?

或者还有其他问题吗?

理想情况下,我希望每个“试用版”都有一行,这样阵列就可以逐行格式化。但首先我只是想正确地写入数据。

谢谢!

解决了!代码现在有效。在我使用push()将数据附加到数组之前,我只是调用了我的Ajax保存功能。一旦我将保存函数移动到数据被推入数组后立即调用,它就会保存包含所有相关信息的文件!

javascript arrays json ajax
1个回答
0
投票

我的问题已经解决了。在我用数据填充数组之前,我只是在执行saveData()。

© www.soinside.com 2019 - 2024. All rights reserved.