我正在使用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格式具有高可读性,可以很好地映射到后端模型
这可能会帮助你保持更好的心理模型.
另一方面,查询字符串不是可读性明显落后,但看起来不像对象.
性能:
Json内容长度为138个字节
十一个字节的差异可能对大型系统至关重要.
直觉
你的数据交换似乎适合json.
你发送了一个对象数组,虽然像你展示的那样很容易发布,但我认为调试和构建稍微容易一些.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。