jQuery的$.post
方法二进制安全吗?无论如何只是出于纯粹的兴趣,所以请不要假设任何事情。
如果是这样,所有 ajax 函数都是二进制安全的吗?
通常,二进制安全意味着它不是以空值结尾的,任何类型的字符都可以包含在即将使用的字符串中,主要意味着该函数可以处理任何类型的二进制数据(图像、音乐等)。
问题是:您不能将二进制文件用于 AJAX 请求。您不能上传文件,也不能处理二进制文件作为响应(仅文本输出)。这不是关于 jQuery,而是关于它在较低级别的工作方式。XmlHttpRequest 不能处理这样的事情。
由于底层技术不支持请求或响应的二进制数据,$.post 也不支持。
现在,在 HTML5 上,我们可以为 AJAX 管理二进制数据和文件: https ://developer.mozilla.org/en-US/docs/Using_files_from_web_applications
然而,这是“新事物”。因此,只需等待它在多个浏览器中得到支持,然后它可能会被框架拾取:) 目前,只有 FF 支持它(XMLHttpRequest.prototype.sendAsBinary 方法)。您可以通过使用 Blob 在 Chrome 上获得类似的功能,但并不相同。
简而言之,不,因为您必须正确处理自己的处理程序。另外,并非所有浏览器都支持二进制文件 ajax 传输...
请参阅此论坛帖子:http: //forum.jquery.com/topic/jquery-get-support-binary-type
你只需要在这里检查二进制安全函数的定义
http://whatis.techtarget.com/definition/binary-safe-function