我一直在使用ktor在kotlin上制作一个迷你网络应用程序(用来玩康威的生活游戏)。我遇到了一个问题,即我在jquery post请求中从前端发送的所有数据都没有进入服务器。我在前端构造了一个带有4500个键的javascript对象并将其发布,但是服务器只接收一个存在1000个键的对象。做一些谷歌搜索引导我一些关于PHP问题的资源,但没有任何关于直接的JavaScript。我正在使用jquery 3.3.1。以下是发布帖子的客户端代码:
let m = buildBoard();
// this logs 4500
console.log("size of posted object: " + Object.keys(m).length);
$.post("/update", m, (responseJson) => {
responseJson = JSON.parse(responseJson);
// this logs 1000, even though it should be the same size as what we posted
console.log("size of response: " + Object.keys(responseJson).length);
for(const key of Object.keys(responseJson)) {
let arr = JSON.parse(key);
drawCell(parseInt(arr[0]), parseInt(arr[1]), responseJson[key]);
}
});
服务器基本上将其发送的json对象(代表板状态)转换并在将更新的板发送回客户端之前对其进行转换。登录服务器告诉我服务器只接收1000个方块的电路板,这让我相信问题出现在js端(但我很高兴发布服务器代码,如果有人认为这可能是问题)。
答案 0 :(得分:0)
更新:我无法找出限制存在的原因所以我只是转而发布字符串化对象并将其解析回服务器上的JSON,这导致所有数据都进入服务器。