【问题标题】:Serialize json 2-dimensional array, send two arrays, or other?序列化json二维数组,发送两个数组,还是其他?
【发布时间】:2011-10-10 15:47:25
【问题描述】:

我必须使用jQuery.ajax() 向 PHP 发送一个二维数组(连同其他几个变量)。我相信我的选择是:

  1. JSON-js序列化成json
  2. 将两个数组作为 csv 字符串发送并在另一端重新编译。

我的问题是:

A.如果我不想为小函数包含另一个库,那么选项 #2 有什么问题吗? B. 除了选项#1 和#2,还有其他选项吗?

谢谢!

【问题讨论】:

  • 既然你已经包含了jQuery作为标签,你可以只使用jQuery的.serializeArray函数来序列化JavaScript数组和PHP的json_decode来解码它吗?
  • .serializeArray ...这个名字表明它正是我正在寻找的。我查看了您提供的链接,似乎它需要$(":input")$('form')返回 一个包含表单元素名称和值的数组。所以(如果我使用的是表格)不幸的是,它给我留下了和以前一样的问题。但是感谢您的链接 - 很高兴知道它存在!

标签: php javascript jquery ajax json


【解决方案1】:

你可以试试:

JSON.stringify(array);

不需要额外的库。

【讨论】:

  • JSON.stringify 从 jQuery 1.4.1 中丢失,这是我正在使用的库。不确定它是否在新版本中重新引入。 JSON.parseJSON 允许解码,但没有我知道的编码功能。看看这个:stackoverflow.com/questions/2277405/…
  • 酷...我试图寻求支持。 IE7及以下不支持。你还认识其他人吗?
【解决方案2】:

我确定还有其他选择;给猫剥皮的方法总有一百万种。但我建议选项#1。当您将其作为 JSON 字符串发送时(使用一个很小且只有两种方法的库),您可以使用 json_decode 在 PHP 中对其进行解码。不要大惊小怪,不要大惊小怪。

【讨论】:

    【解决方案3】:

    A.如果我不想包括,选项 #2 有什么问题吗? 另一个用于小功能的库?

    您可能在转义/取消转义某些字符时遇到问题。

    B.除了选项 #1 和 #2 之外还有其他选项吗?

    肯定有。但我会选择 JSON,这是最简单、最干净的解决方案。

    【讨论】:

      猜你喜欢
      • 2014-12-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-11-30
      • 1970-01-01
      • 1970-01-01
      • 2011-07-27
      相关资源
      最近更新 更多