微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用jQuery将Javascript数组发送到PHP脚本时哪个更好:使用JSON还是让jQuery将其转换为查询字符串?

我正在使用jQuery的$.ajax函数和POST方法javascript数组发送到PHP脚本(AFAIK,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);
    },

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

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

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

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

我想知道,如果这些方法同样好,或者其中一种方法更好,为什么呢.提前感谢您分享您的知识:)

解决方法:

更好的是一个非常流畅的概念.你必须考虑几个因素,我会尝试列出其中的一些因素.

可读性:

Json格式具有高可读性,可以很好地映射到后端模型
这可能会帮助你保持更好的心理模型.

另一方面,查询字符串不是可读性明显落后,但看起来不像对象.

性能

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

Json内容长度为138个字节

一个字节的差异可能对大型系统至关重要.

直觉

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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐