为什么在通过AJAX发送数据时,必须使用JSON.stringify()来处理对象?
Why when sending data over AJAX, do you have to JSON.stringify() your objects?
JSON代表javascript对象符号(我相信你知道),那么为什么,当通过ajax发送JSON时,你需要把它变成一个字符串来发送呢?这仅仅是一个格式问题吗?
这可能属于另一个地方,如果是,让我知道,我会关闭它并移动它。
显然,我不是在征求意见,我想知道实际的答案。
只是为了确保我清楚,我理解JSON.stringify()和它的对应JSON.parse()的作用。我只是想知道,为什么需要使用stringify。
谢谢!
当发送json通过ajax你需要把它变成一个字符串发送吗?
如果它不是字符串,那么它首先就不是JSON。
JSON是一种基于文本的数据格式。HTTP是一种基于文本的通信协议。JSON代表javascript对象符号
JSON基于JavaScript字面量的语法。JavaScript对象不是JSON
AJAX是关于HTTP请求的,它基本上是对服务器的"文本"请求。这就是为什么必须对对象进行字符串化的主要原因:这样就可以将其转换为可以通过HTTP"传输"的文本。
当向web服务器发送数据时,数据必须是字符串。
这就是为什么我们使用JSON.stringify()函数将数据转换为字符串,并通过XHR请求将其发送到服务器。
// Creating a XHR object
let xhr = new XMLHttpRequest();
let url = "submit.php";
// open a connection
xhr.open("POST", url, true);
// Set the request header i.e. which type of content you are sending
xhr.setRequestHeader("Content-Type", "application/json");
// Converting JSON data to string
var data = JSON.stringify({ "name": name.value, "email": email.value });
// Sending data with the request
xhr.send(data);
相关文章:
- 为什么JSON.stringify没有序列化原型值
- 尝试JSON.stringify Ember模型时Id丢失
- MVC C#从jQuery和JSON.stringify创建的cookie中读取值
- JSON.stringify和Object.keys在同一个对象上产生不同的结果
- JSON.stringify没有'在更改的对象上无法按预期工作.如何处理
- JSON.stringify正在忽略我的嵌套对象
- 如何避免JSON.stringify在特殊情况下返回undefined,从而为JSON.parse创建字符串失败
- 正在从JSON.stringify中提取数据
- JSON.stringify抛出RangeError:大型对象的字符串长度无效
- 你如何JSON.stringify一个ES6地图
- 在这种使用 JSON.stringify() 时有什么区别
- JavaScript 中的 JSON.stringify () 错误
- 在什么情况下,应该.deep.equal失败,但使用JSON.stringify进行比较工作正常
- 如何使用替换器 param json.stringify 访问嵌套对象
- 使用 jQuery.map 后使用 JSON.stringify 的问题
- JSON.stringify未序列化可枚举属性
- JSON.stringify没有序列化对象
- nodejs:请求jsmultipart二级文件和JSON.stringify
- JQuery,需要拆分stringify json字符串为数组
- LocalStorage and JSON.stringify JSON.parse