Jim*_*mbo 4 javascript php ajax jquery yaml
请关注这个问题的技术方面,而不是为什么。原因很明显:YAML 是人类可用的最易读的数据序列化格式。因此,最好的。
如何通过 XMLHttpRequest 从客户端向服务器发送 YAML,而无需先将其转换为 JSON、XML 或其他格式?
我在客户端代码中使用 JavaScript,如果需要,我可以使用 jQuery。我选择的服务器端语言是 PHP。
根据维基百科,send()XMLHttpRequest的方法:
接受包含要随请求发送的内容的单个参数。W3C 草案规定,该参数可以是脚本语言可用的任何类型,只要它可以转换为文本字符串,DOM 文档对象除外。[强调我自己]
YAML 是一个文本字符串。是否可以在不使用其他数据序列化格式(如 json、xml 等)的情况下在服务器端正确发送并随后对其进行解析?
// xhr is an instance of XMLHttpRequest which has been open()ed and had event handlers set on it already
xhr.setRequestHeader("Content-Type", "text/x-yaml");
xhr.send(string_of_yaml_formatted_data);
Run Code Online (Sandbox Code Playgroud)
请注意,大多数服务器端语言不会自动解析它,因此您需要从 POST 请求正文中读取原始数据并自行解析。
例如在 PHP 中:
$raw_yaml = file_get_contents('php://input');
$data = yaml_parse($raw_yaml);
Run Code Online (Sandbox Code Playgroud)
注意:yaml_parse()需要PECL yaml >= 0.4.0
| 归档时间: |
|
| 查看次数: |
2474 次 |
| 最近记录: |