php - 如何使用ajax和php将100个对象保存到服务器?

标签 php javascript ajax object-persistence

假设我有一个包含 100 个对象的页面,转换为 json 后每个页面约为 700 字节。

为了将对象保存到基于 php 的 Controller ,我有以下选项。

选项 1

对于每个对象(100 个对象)执行以下操作

  1. 获取对象定义 2.转换为json
  2. 向 php Controller 发送 http post
  3. php Controller 将其保存到文件或数据库中。

选项 2

变量bigJsonString;

对于每个对象(100 个对象)执行以下操作

  1. 获取对象定义 2.转换为json
  2. 将 json 附加到字符串变量“bigJsonString”,并使用分隔符来指示对象结束。

构造完大胖bigJsonString之后

  1. 通过发送“bigJsonString”将 http post 发送到 php Controller
  2. php Controller 将其保存到文件或数据库中。

在选项 1 中,我陆续发布了 100 个 http 帖子。这会引起任何警觉吗? 这对于执行 ajax post 的 Web 应用程序来说正常吗?

第二个选项看起来很安全,但唯一的问题是,当 100 个对象变成 500 个对象时,或者达到“bigJsonString”达到几兆字节长的程度。

我们可以引入的第三个选项是选项 1 和 2 的混合,我们首先构建“bigJsonString”,如果长度达到一定限制,则执行 ajax post。刷新字符串并为剩余对象再次构建字符串。

有哪些陷阱以及正常或标准做法是什么。如果有人可以指出已经对此进行了分析的资源,那就太好了。

非常感谢。

最佳答案

一般浏览器limit the number of connections to a single domain到一个较低的数字(大多数浏览器默认低于 20)。与此同时,您的许多请求将被阻止。

另一方面,较大的请求将需要更长的时间才能完全处理,因为并行化的机会较少。

理想情况下,您可以尝试两种方法,看看哪一种最有效。

注意:对于第二种方法,您可以创建对象的数组,然后将数组序列化为JSON,而不是手动处理JSON字符串。 (JSON 支持数组,而不仅仅是对象!)

关于php - 如何使用ajax和php将100个对象保存到服务器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4939463/

相关文章:

javascript - 用JS选择多个项目

javascript - 如何使用javascript计算文本的宽度?

php - 使用 ComboBox 刷新页面而不刷新

php - 教师 Moodle 注册电子邮件 - 添加学生电子邮件地址

php - Laravel Socialite 名字和姓氏

javascript - 将 PHP JSON 编码的数组打印到 JavaScript 并对其进行解码,会产生错误

php - 从 NodeJS 服务器到 PHP 服务器的 CORS AJAX 请求

javascript - 如何使用 PHP 比较 Selenium WebDriver 中元素的位置

Javascript 在 javascript 中获取序列化表单变量

javascript - 保存ajax调用的id以在返回函数中使用它