[英]How can I send YAML over AJAX?
请关注这个问题的技术方面,而不是原因 。 原因很明显:YAML是人类可用的最易读的数据序列化格式。 因此,最好的。
如何通过XMLHttpRequest从客户端向服务器发送YAML,而无需先将其转换为JSON,XML或其他格式?
我使用JavaScript作为客户端代码,如果需要我可以使用jQuery。 我选择的服务器端语言是PHP。
根据Wikipedia ,XMLHttpRequest的send()
方法:
接受包含要随请求一起发送的内容的单个参数。 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);
请注意,大多数服务器端语言都不会自动解析它,因此您需要从POST请求正文中读取原始数据并自行解析。
例如在PHP中:
$raw_yaml = file_get_contents('php://input');
$data = yaml_parse($raw_yaml);
注意: yaml_parse()
要求PECL yaml > = 0.4.0
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.