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