繁体   English   中英

是否有必要将请求数据作为 JSON 字符串传递给服务器

[英]Is it necessary to pass request data as JSON string to server

向服务器(可能是 Java、PHP 等)发出 AJAX 请求时,是否需要将数据作为 JSON 字符串传递?

我们不能直接传递对象吗? 是否存在反序列化问题或可以在后端处理的问题? 在后端处理 JS 对象(如果可以直接发送 obj)的任何示例都会很棒?

对象字面量仅在 JavaScript 运行时环境中有意义。 由于 AJAX 正文只是一个字符串,因此您可以将{a:3}传递给服务器。 但是服务器端应该怎么做呢? 它当然可以将其存储在数据库中,并在需要时返回给您。 但是如果它想从中提取一些数据呢? 您必须拥有 JS 运行时并使用eval评估对象。 这会很尴尬,但可能。 但是,并非所有服务器都有 JS 运行时环境。 而有许多语言的库支持将 JSON 解析为特定于服务器上语言的表示。

AJAX 请求以与任何其他 HTTP 请求相同的方式将数据传递到服务器。 最常见的是,AJAX 请求使用 POST 并将数据作为 POST 数据传递到服务器,但经常使用查询字符串,还有其他方法可以使用 HTTP 和 AJAX 将数据传递到服务器。

本质上,所有 HTTP 数据都是八位字节(字节),并且 HTTP 没有特别支持 JavaScript 对象的序列化,因此您或您使用的库和/或框架必须处理序列化。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM