javascript - 使用 jQuery : Using JSON or just let jQuery convert it to query string? 将 Javascript 数组发送到 PHP 脚本时哪个更好

标签 javascript php jquery ajax json

<分区>

我正在使用 jQuery 的 $.ajax 函数和 POST 方法将 javascript 数组发送到 PHP 脚本(据我所知,GET 方法是类似的):

fruits = [
    {
        color: "yellow",
        taste: "sour"
    },
    {
        color: "blue",
        taste: "semi-sweet"
    },
]

$.ajax({

    url: "php/script.php",

    data: {
        fruits: fruits
    },

    type: "POST",
});

发出请求后,PHP 中的 $_POST 变量填充为:

$_POST['fruits'][0]['color']
$_POST['fruits'][0]['taste']
$_POST['fruits'][1]['color']
$_POST['fruits'][1]['taste']

或者,在 $.ajax 函数调用中,我可以将数据作为字符串化的 JSON 发送:

    data: {
        fruits: JSON.stringify(fruits);
    },

在这种情况下,数据将作为单个字符串发送(性能提升?),但我必须在 $_POST[' 上使用 PHP 中的 json_decode() 函数fruits'] 参数:

$fruits = json_decode($_POST['fruits']);

使用它之后,我将能够以类似的方式访问数据:

fruits[0]['color']
fruits[0]['taste']
fruits[1]['color']
fruits[1]['taste']

我想知道,这些方法是否同样好,或者其中一种更好,为什么。预先感谢您分享您的知识:)

最佳答案

更好是一个非常灵活的概念。你必须考虑几个因素,我将尝试列出其中的一些。

可读性:

Json 格式可读性强,可以很好地映射到后端模型 这可能会帮助您保持更好的心智模式。

另一方面,查询字符串在可读性方面并没有落后太多,但看起来不像一个对象。

性能:

查询字符串内容长度为127字节

Json内容长度为138字节

这 11 个字节的差异可能对大型系统至关重要。

直觉

您的数据交换似乎适合 json。 您发送了一个对象数组,虽然它很容易像您展示的那样发布,但我认为调试和构造它稍微容易一些。

关于javascript - 使用 jQuery : Using JSON or just let jQuery convert it to query string? 将 Javascript 数组发送到 PHP 脚本时哪个更好,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29963009/

相关文章:

javascript - 如何获取树结构的每个节点的值

javascript - 将所有 View 一次性发送给客户端 - SPA 是否有效?

用于创建带有每个面包屑链接的面包屑的Javascript?

php - 将多个 PHP 变量传递给 shell_exec()?

jquery - 传递 'this' 作为参数,但在调用函数的上下文中进行操作

javascript - Jquery - 更改插件中的值,无需再次运行插件?

javascript - 应用 css 图标时 preventDefault() 不起作用?

javascript - 实时复制另一种形式的文本

php - 从下拉列表中选择值,第二个下拉列表自动更改

javascript从codeigniter到jsp