字符串化,编码和解码 - 为什么?

时间:2015-09-02 17:42:51

标签: javascript php ajax json

我有一些我想问的问题,我建立一个网站,我发送ajax数据并进行解码和解码(js到php)。

1)我想问为什么我们应该在json上使用ajax编码和解码?

2)json stringify做什么?我是这样做的:

var data = JSON.stringify([category, amount, repeated, note]);

但我真的不明白为什么我应该使用这个...我告诉我,没有json编码发送ajax是不安全的,是真的吗?

1 个答案:

答案 0 :(得分:1)

首先,AJAX与JSON无关,但最常用。您可以使用XML,yaml或您自己的格式。另一方面,您始终清理并验证用户发送的任何数据。这是真正的安全风险。

其次,如果你使用一个库作为jQuery或AngularJs,你不需要stringify一个javascript对象(它与JSON不同)库为你做这个。

// jQuery example
$.ajax({
    url: '/save.php',
    method: 'post',
    data: {
        id: 5,
        name: 'pollin14'
    }
};
// Save.php
$id   = $_POST['id'];
$name = $_POST['name'];

最后,stringily将javascript对象转换为javascript字符串。例如,如果要在cookie中保存javascript对象,这将非常有用。因为cookie只能保存字符串。然后,当您检索cookie时,您可以使用JSON.parse来获取javascript对象。